【发布时间】:2015-09-17 18:49:56
【问题描述】:
这听起来可能很愚蠢,但我需要确认一下。 例如我们有一个整数数组:
[4 2 1 3]
所以当算法启动时,它应该像那样工作
1. [2 4 1 3]
2. [1 2 4 3]
3. [1 2 3 4]
有人可以帮我计算每一步的交换次数吗? 从我的角度来看,它可能是 1)1 次交换,2)2 次交换,3)1 次交换。这个对吗?谢谢
算法:
for(i=1; i<N; i++)
{
x = p[i];
j = i -1;
while(x<p[j] && j>=0)
{
p[j+1] = p[j];
j = j-1;
}
p[j+1] = x;
}
【问题讨论】:
-
使用哪种算法?插入排序?
-
直接插入是我老师所说的。我猜它是插入排序。我在我的帖子中包含了算法