排序算法之——交换类排序(一)冒泡排序

本文深入讲解冒泡排序算法,通过相邻元素的比较和交换,逐步将数据按升序排列。文章详细介绍了冒泡排序的基本原理,包括算法的步骤和代码实现,以及如何通过设置变量减少不必要的比较,从而提高排序效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

冒泡排序用的方法是相邻比逆法,顾名思义,就是将相邻元素的逆序进行交换的一种方法。

步骤

1、把相邻元素之间进行比较,如果他们的顺序是逆序,则交换位置,这样就可以把最大或者最小的元素放置在最前或者是最后
2、重复比较,第一轮比较的元素是n个,每一轮比较的元素都减一,最后比较的元素只有两个,即进行n-1轮的比较。

代码实现

void BubbleSort(RecordType r[],int length){
	//外面一层是比较的轮次
	int chang = 1;
	RecordType t;
	for(int i = 1;i<=length-1&&change==1;i++){//这里的change是减小了时间复杂度,当发现元素间已经提前达到有序,则直接结束循环。
		change= 0;
	//里面一轮是相邻元素之间的交换
		for(int j = i;j<=length-1;j++){
			if(r[j]>r[j+1]){//我们在这里要实现的是递增排序
				t = r[j];
				r[j] = r[j+1];
				r[j+1] = t;
				change = 1;
			}
		}
	}
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值