1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 冒泡排序解析 + 代码实现(C语言)

冒泡排序解析 + 代码实现(C语言)

时间:2020-06-08 22:44:43

相关推荐

冒泡排序解析 + 代码实现(C语言)

冒泡排序思路:若是正序(从小到大)排列,从第一个元素开始,依次两两比较元素,若前面的元素大于后面的,则交换两元素的位置。否则继续往后比较。每比较一趟即可寻找出当前未排序的最大的元素放到对应位置(第一趟将最大的元素放到最后,第二趟将次大的元素放到倒数第二的位置,以此类推…,直到找出第二小的元素放到第二个位置,此时最小的元素已经放到了第一的位置)。
C语言代码实现

# include <stdio.h>int main(void){int arr[10] = {1,2,6,5,2,4,8,9,7,0}; //定义一个装10个整型元素的数组,并初始化//外层循环设置比较趟数,每比较一趟,即寻找出当前未排序的最大的元素放到对应位置,所以循环9次,排好9个元素,最后一个元素自然也就排好了。for (int i = 0;i < 9;i++){for (int j = 0;j < 10-1-i;j++){ //-1表示下标,10个元素的数组下标最大到9,-i表示减去已经排好的元素个数if (arr[j] > arr[j+1]) { //因为是从小到大排序,所以如果是两个数前面的是大数,要进行交换int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}// 打印每一趟比较结果for(int i = 0;i < 10;i++){printf(" =>%d;",arr[i]);}printf("\n");}}//输出结果=>1; =>2; =>5; =>2; =>4; =>6; =>8; =>7; =>0; =>9;=>1; =>2; =>2; =>4; =>5; =>6; =>7; =>0; =>8; =>9;=>1; =>2; =>2; =>4; =>5; =>6; =>0; =>7; =>8; =>9;=>1; =>2; =>2; =>4; =>5; =>0; =>6; =>7; =>8; =>9;=>1; =>2; =>2; =>4; =>0; =>5; =>6; =>7; =>8; =>9;=>1; =>2; =>2; =>0; =>4; =>5; =>6; =>7; =>8; =>9;=>1; =>2; =>0; =>2; =>4; =>5; =>6; =>7; =>8; =>9;=>1; =>0; =>2; =>2; =>4; =>5; =>6; =>7; =>8; =>9;=>0; =>1; =>2; =>2; =>4; =>5; =>6; =>7; =>8; =>9;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。