冒泡排序

   日期:2020-04-30     浏览:106    评论:0    
核心提示:第三周冒泡排序算法:第一次冒泡:第二次冒泡:总结:代码:冒泡排序见名如闻其意,就像鱼儿吐泡泡,将大的

第三周

  • 冒泡排序
  • 算法:
      • 第一次冒泡:
      • 第二次冒泡:
  • 总结:
  • 代码:

冒泡排序

见名如闻其意,就像鱼儿吐泡泡,将大的数向上(后)冒泡泡。

算法:

将泡泡向后冒的这个过程是一个重复的过程,必然用到for,所以这个经典算法主要在循环次数上做出改变,用循环去模仿冒泡泡的过程,完成对数组的排序:
算法模仿:

第一次冒泡:






通过这几张图片可以清晰的看出第一次冒泡泡成功的把真个数组中最大的数字9翻到了最后,而比较过程可以看出是两数之间的比较和交换,到代码的体现就是:

//两数比较大小,将大的数放在后面
if(a[j]>a[j+1]){
    int temp = a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
}

第二次冒泡:

这是第一次冒泡结束后的数组:黄色表示已经完成排序的部分。

开始冒泡:




第二次冒泡成果:

第二次冒泡就不需要对对一次冒泡的那个9运算了。

总结:

通过两次冒泡的演示,这个过程我们可以了解的很清晰,那说说这个排序的优点:每完成一次冒泡,下一次的工作量就减少1,他优化的是时间复杂度,并且没有增加空间复杂度。

代码:

        int a [] = {3,9,4,5,1,2};
		for(int i = 0;i<a.length-1;i++){
			for(int j=0;j<a.length-i-1;j++){
				if(a[j]>a[j+1]){
					int temp = a[j];
					a[j]=a[j+1];
					a[j+1]=temp;
				}
			}
		}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服