C#實現冒泡排序

冒泡排序

一、思想

  1. 當前數組元素與後⾯的數字元素進⾏對⽐,如果前⼤後⼩,則進⾏交換,array[0]與array[1]對比,array[1]與array[2]對比,array[n]與array[n+1]對比
  2. 每輪可以確定⼀個最⼤值在數組的末位,⼏輪之後即可完成排序
  3. 冒泡排序當然也可以從⼤到⼩排序,那樣則前⼩後⼤進⾏交互

二、代碼

for (int i = 0; i < array.Length; i++) 
{
 	//⽴個flag,表示判斷過程中是否發⽣了交換
 	bool hasExchange = false;
	for (int j = 0; j < array.Length - i - 1; j++)
 	{
 		if (array[j] > array[j + 1])
 		{
			//說明交換了
			hasExchange = true;
			//交換
			int temp = array[j];
			array[j] = array[j + 1];
	 		array[j + 1] = temp;
		}
 	}
	if(!hasExchange)
 	{
 		//說明已經排好序了,後⾯的輪次就沒有必要了
		break;
 	}
	for (int m = 0; m < array.Length; m++)
 	{
 	Console.Write(array[m] + "\t");
	}
 	Console.WriteLine();
}
Console.WriteLine("排序結束");
for (int m = 0; m < array.Length; m++)
{
	Console.Write(array[m] + "\t");
}
發佈了11 篇原創文章 · 獲贊 1 · 訪問量 466
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章