黑马程序员技术交流社区

标题: c语言冒泡排序算法解析 [打印本页]

作者: Abbiamo    时间: 2016-9-1 18:11
标题: c语言冒泡排序算法解析
冒泡排序原理解析(小-大):从头开始,两个数相比较,如果一个数大于它的 后一个数,那么两数交换位置,一直比较到最后两个,下一次就会少排序一次。
概述:总是从排序的数中找出最大的那个,并将它放置在参与排列的数中的最尾。
void BubbleSort(){
int array[10] = { 2,3,7,1,9,0,6,4,5,8 }; //先输出原数组做对照
for (int i = 0; i < 10; i++)
{ printf("array[%d]:%d\n", i, array[i]);
}
//冒泡排序算法
for (int i = 0; i < 10; i++)
{ for (int j = 1; j < 10-i; j++) //这里j一定要等于1
{
if (array[j-1]>array[j]) //如果这个数大于后一个数,复合语句执行
{ //将两个数交换位置,小在前,大在后
int temp = array[j - 1];
array[j - 1] = array[j];
array[j] = temp;
}
else { continue; //可有可无 }
}
}
}
//最后输出数组,查看结果
for (int i = 0; i < 10; i++)
{ printf("array[%d]:%d\n", i, array[i]); }
}

作者: hbpiaoyi    时间: 2016-9-1 20:33
外层循环只需要循环9次




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2