位置:
首页

>

>

气泡排序,经典的排序算法
时间:

在程序中处理数据时,为了提高抗干扰性并过滤掉干扰数据,通常会添加过滤算法,气泡排序是最经典,最通用且易于理解的算法。

1.算法思想的简单描述气泡排序需要遍历要排列的每个数据,并成对进行比较。

如果顺序不正确,它将被转置直到排序完成。

第一次旅行:首先比较第一个和第二个数字,将十进制数字放在前面,将大数字放在后面。

然后将第二个数字与第三个数字进行比较,将十进制数字放在大数字之前,然后像这样继续直到比较最后两个数字,然后将十进制数字放在大数字之前和大数字之后。

重复第一步,直到完成所有排序。

想象一下:最小的数据元素会缓慢地“浮动”。

从底部到顶部像一个气泡。

2.该算法的简单演示一个示例:对数组矩阵进行排序:int [] arr = {8,6,9,2}; & nbsp;& nbsp;第一种排序:第一种排序:8与6比较,8大于6。

交换位置:6 8 9 2第二种排序:比较8和9,8小于9,不改变位置: 8 6 9 2第三类:9和2,2小于9,交换位置:8 6 2 9第一次旅行总共进行了3次比较,排序结果:8 6 2 9 ----- ------------------------ -------------------------- --------------二次排序:第一次排序:8与6比较,8大于6,交换位置:6 8 2 9第二次排序:8与2比较,8大于2,交换位置:6 2 8 9在第二遍中,总共进行2次比较。

排序结果:6 2 8 9 ------------------------------------------ ---- -----------------------第三轮排序:第一轮排序:6和2,6大于2,交换位置: 2 6 8 9共进行了3次比较,结果排序为:2 6 8 9 --------------------------- ----- -------------------------------------最终结果:2 6 8 9- ----- --------------------------------------------- ----- -------------可以看出:需要对N个数字进行排序,对总共N-1个通行证进行排序,并且每i个通行证的排序数量是(Ni)次,因此可以使用双循环语句,外层控制周期数,内层控制每个周期的周期数:for(int i = 0; i& n; for(int j = 0; j& nbsp; //省略交换代码}& nbsp; 3.算法代码显示void Sort(){int i,j,temp; for(i = 0; i< N-1; i ++){for(j = 0; j< N-1-i; j ++){if(arr [j]& gt; arr [j + 1] ){//比较邻接成对的nt个元素temp = arr [j + 1]; //元素交换arr [j + 1] = arr [j]; arr [j] = temp; }}}}图片和Internet上的文章的来源均为Fun and Embedded精心原创,请转载请注明来源,谢谢合作。

更多精彩内容,请关注微信公众号。

有趣的嵌入式。

免责声明:本文内容经21ic授权后发布,版权归原作者所有。

该平台仅提供信息存储服务。

本文仅代表作者的个人观点,并不代表该平台的立场。

如有任何疑问,请与我们联系,谢谢!

产品资料
行业信息