小甲鱼的改进后的冒泡排序好像存在BUG
本帖最后由 ~风介~ 于 2015-10-13 20:23 编辑void BubbleSort(int k[],int n)
{
int i,j,temp,count1=0,count2=0,flag;
flag = 1;
for(i=0;i<n-1 && flag ;i++)
{
for(j=n-1;j>i;j--)
{
count1++;
flag = 0;
if(k>k)
{
count2++;
temp = k;
k=k;
k=temp;
flag = 1;
}
}
}
printf("进行%d次比较,进行%d次移动\n",count1,count2);
}
int main()
{
int k={2,4,1,8,3,6,5,9,7,0}; //2,4,1,8,3,6,5,9,7,0
int i;
BubbleSort(k,10);
for(i=0;i<10;i++)
{
printf(" %d ",k);
}
return 0;
}
运行后得到的答案是 0 1 2 3 4 5 8 6 7 9
你确定你贴的代码和小甲鱼的没有出入? {:7_140:} kankan bei
fkwerwe r 我就看看哈 ~风介~ 发表于 2015-10-13 20:23
你确定你贴的代码和小甲鱼的没有出入?
有出入的他视频里的代码有问题 但是他的源代码里面是正确的
flag=0应该放在第一个for循环里面,第二个for循环外面
页:
[1]