冒泡排序(C語言)


排序步驟(從小到大):

比較相鄰的兩個數,如果第一個比第二個大,則交換兩個數字,每一輪比較都會將較大的數字排到后面。

圖示(圖源菜鳥教程):

C語言實現:

# include<stdio.h>
int main(void)
{
	int arr[10]={5,4,7,9,2,3,1,6,10,8};		//定義一個位排序的數組 
	
	int i;	//定義循環次數 
	int n = 0;	//定義排序次數 
	int length=10;	//定義數組長度 
	while(n < length) 	//控制比較次數 
	{
		for(i = 0 ; i < length-1-n ; i++)
		{
			int tmp = 0;	//交換順序時臨時存放數字 
			if(arr[i] > arr[i+1])	//比較兩個數字時,如果前一個數字大於后一個數字則交換位置 
			{
				tmp = arr[i];		//交換兩個數字的順序 
				arr[i] = arr[i+1];
				arr[i+1] = tmp;
			}
		}
		n++;	//控制比較次數 
	}
	
	for(i = 0 ; i < length ; i++)	//打印排序后的數組 
	{
		printf("%d ",arr[i]);
	}
	return 0;
}

輸出:

排序后:1 2 3 4 5 6 7 8 9 10


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM