排序算法—冒泡排序

交换类排序 —— 冒泡排序:相邻数据比较若逆序则交换,经过n-1趟比较交换后,逐渐将小数据冒到数组的前部,大的数据则陈到数组的后部。

冒泡排序的本质在于交换,即每次通过交换的方式把当前剩余元素的最大值移动到一端,而当剩余元素减少为0时, 排序结束。

     

代码实现如下:

void bubble_sort(int a[],int len){
	for(int i=0;i<len-1;i++){//外层循环控制趟数,总趟数为n-1 
		for(int j=0;j<len-1-i;j++){//内层循环为当前第i趟所需要比较的次数
		 	int t;
			if(a[j]>a[j+1]){
		 		t=a[j];
		 		a[j]=a[j+1];
		 		a[j+1]=t;
		 		//swap(a[j],a[j+1]);也可以直接利用swap进行交换 
			} 			
		} 
	}
}

猜你喜欢

转载自blog.csdn.net/m0_37345402/article/details/81625227