冒泡排序(Bubble_Sort)

冒泡排序是一种基础排序算法,通过相邻元素间的比较和交换实现排序。本文介绍了冒泡排序的工作原理,并讨论了一种优化策略,即通过标志位change来判断序列是否已有序,以减少不必要的比较。
摘要由CSDN通过智能技术生成

冒泡排序算法是一个耳熟能详的算法,在我们学习计算机的专业课的时候,在课本中经常会见到该程序,作为一个非常简单的例子程序。如果你不能默写该算法,那么你就没学过计算机的相关课程。好了,不说闲话了。

冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。

//冒泡排序(小数上升,大数下沉)
#include<stdio.h>
typedef int Status;
#define TRUE 1
#define FALSE 0
//将a中整数序列重新排列成自小到大的有序的整数序列
void bubble_sort(int a[],int n)
{
	int i,j,t;
	<span style="color:#ff0000;">Status change;
</span>	for(i=n-1,change=TRUE;i>=1 && change;--i)//外循环
	{
		<span style="color:#ff0000;">change=FALSE;//设置change的作用是,当该序列提前有序的时候,就不用再往下进行比较了,该序列已经是有序的了
</span>		for(j=0;j<i;j++)//内层循环
		{
			if(a[j] > a[j+1]) /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值