栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

冒泡排序法(Java/C语言)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

冒泡排序法(Java/C语言)

冒泡排序法就是重复的遍历要排序的元素列,依次比较两个相邻的元素,如果顺序不符合我们的排序要求,就依靠中间变量将他们交换过来。这个过程重复的进行,直到没有需要交换的元素,说明排序已经完成。

原理:以对22,20,30,6按照从小到大顺序排列为例对冒泡排序法进行说明:

第一轮比较:

22,20,30,6  最初

20,22,30,6  比较22和20进行交换

20,22,30,6  比较22和30,不交换

20,22,6,30  比较30和6,进行交换

第一轮比较结束,最大值30已到最后,第二轮只比较前三个数字;

第二轮比较:

20,22,6,30  第一轮比较结果

20,22,6,30  比较20和22,不交换

20,6,22,30  比较22和6,进行交换

第二轮比较结束,前三个数字的最大值已到最后,第三轮只比较前两个数字;

第三轮比较:

20,6,22,30  第二轮比较结果

6,20,22,30  比较20和6,进行交换

排序结束。

由上面可以发现,比较的轮数为数字的个数减一;每轮比较的次数为数字的个数-现在的轮数(当然也可以对数字从第一个到最后一个都进行比较)

Java代码示例:

package sort;

public class BubbleSort {
	public static void main(String[] args){
		int[] arr={22,20,30,6};
		//进行的轮数
		for(int i=1;iarr[j+1]){
					int c=arr[j];
					arr[j]=arr[j+1];
					arr[j+1]=c;
				}
			}
             //第i轮比较的结果
			System.out.println("第"+i+"轮比较结果");
			for(int n=0;n

运行结果示例:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1002021.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号