冒泡排序
1、先看原理
冒泡排序的原理是:从左到右,相邻元素进行比较。每次比较一轮,就会找到序列中最大的一个或最小的一个。这个数就会从序列的最右边冒出来。
2、上图解代码
冒泡三步走
3、简写总结
*N是排序 数组元数个数,也是数组大小数
4、原代码(N要先定义)
for(int i=0;i<N-1;i++) //1、确定循环次数 N-1次
for(int j=0;j<N-i-1;j++) //2、确定每次循环交换次数 N-i-1次
if(str[j]<str[j+1]){ //3、特定条件交换,两者交换要借用中间变量
int temp=str[j];
str[j]=str[j+1];
str[j+1]=temp;
}
欢迎大家交流学习📖
补充优化:(进阶)
内层循环如果一次交换都没有做,就表明数组已经排好序了,可以退出外层循环。(可以减少算力,提高算法效率)
借用一个标志量判断(index)
即第17行和第27行的部分
*index设在内层循环外 ,如果该次循环没有交换,则break,提前跳出外循环
(这部分是俺们老师建议加上的,还有啥问题可以留言评论哦,我都会尽快回复的)