冒泡排序

冒泡排序也被称为起泡排序,该排序算法的原理就是经过一系列的交换实现的,也就是用第一个元素和第二个元素进行比较,如果第一个元素的值大于第二个元素则两者位置互换,否则不交换。然后第二个元素和第三个元素比较.......最后序列中最大的元素被交换到了序列的尾部,这样就完成了一轮交换,经过n轮交换之后,就可以得到一个有序序列。
当然,除了从左向右交换的方案外,另外一种冒泡排序就是重复“从序列右边开始比较相邻两个数字的大小,再根据结果交换两个数字的位置”这一操作的算法,也就是从右往左交换。在这个过程中,数字会像泡泡一样,慢慢从右往左“浮”到序列的顶端,所以这个算法才被称为“冒泡排序”。
image
image

点击查看代码



//冒泡排序 ,指的是元素两两之间进行比较交换,需要比较n轮,每轮需要比较m次,从左向右升序
void bubbleSort(int buf[],int bufsize)
{
	
	int temp = 0; //为了临时存储交换值

	//1.循环比较元素,需要比较n轮
	for (int n = 1; n < bufsize; ++n)
	{
		//2.每轮需要比较m次
		for (int m = 0; m < bufsize-n; ++m)
		{
			//3.数组元素两两之间进行比较交换 buf[0] buf[1]   buf[1] buf[2]
			if (buf[m] > buf[m+1])
			{
				temp  	= buf[m];  //备份前一个
				buf[m]	= buf[m+1];//把后面交换到前面
				buf[m+1]= temp;	   //把前面交换到后面
			}
		}
	}
}


int main(int argc, char const *argv[])
{
	
	

	return 0;
}
posted @ 2025-08-29 17:01  Lè_Sage  阅读(6)  评论(0)    收藏  举报