交换的选择排序计数

时间:2011-11-19 20:34:57

标签: sorting

http://www.cs.pitt.edu/~kirk/cs1501/animations/Sort1.html这个小程序是正确的吗?选择排序为5 4 3 2 1,我看到2个掉期,但小程序正在计算4个交换....

1 个答案:

答案 0 :(得分:0)

我想这是一个定义问题。他正在每个循环结束时进行交换,即使他正在交换一个元素。在他的情况下,互换将是:

  • 原文:5 4 3 2 1
  • 交换位置1和5:1 4 3 2 5
  • 交换位置2和4:1 2 3 4 5
  • 交换位置3和3:1 2 3 4 5
  • 交换位置4和4:1 2 3 4 5

(最后一个元素没有交换,因为它总是在正确的位置)

可以使用简单的if语句来消除最后两次交换。