美文网首页
冒泡排序

冒泡排序

作者: anyurchao | 来源:发表于2015-12-12 23:35 被阅读90次

冒泡排序(优化)

1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3.针对所有的元素重复以上的步骤,除了最后一个。

4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

int array[] = {3,7,5,2,9,4,1,8,6};

int count = sizeof(array) / sizeof(array[0]);

int flag = 0;//0无序 1 有序

for (int i = 0; i <  count - 1 &&flag == 0 ; i ++) {

flag = 1; // 假定有序

for (int j = 0; j < count - i - 1; j ++) {

if (array[j] > array[j + 1]) {

int tem = array[j];

array[j] = array[j + 1];

array[j + 1] = tem;

flag = 0; //确定无序

}

}

}

for (int i = 0; i < count ; i ++) {

printf("[%2d] : %d\n", i, array[i]);

}

相关文章

网友评论

      本文标题:冒泡排序

      本文链接:https://www.haomeiwen.com/subject/adbyhttx.html