1. 程式人生 > >2.4氣泡排序

2.4氣泡排序

氣泡排序的過程就像它的名字一樣把較小的數比作氣泡,排序的過程就是起泡不斷向上冒的過程,越小的數冒的越高。氣泡排序是從最底層的元素開始,用它和它緊挨著的上一個元素進行比較,如果下面元素小於上面元素就交換它們,否則保持原樣。然後轉移到上一個位置重複以上過程。最後,最小的元素冒到了頂部,這時我們再從最底層元素開始比較,重複前面的冒泡過程,就可以將第二小的數放在第二個位置上,如此重複下去,直到所有元素排序。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using
System.Text; 5 using System.Threading.Tasks; 6 7 namespace helloWorld 8 { 9 /// <summary> 10 /// 演示如何使用二重迴圈實現氣泡排序 11 /// </summary> 12 class Program 13 { 14 static void Main(string[] args) 15 { 16 int[] scores=new int[5];//成績陣列 17 int i, j;//
迴圈變數 18 int temp;//臨時變數 19 //讀入成績 20 Console.WriteLine("please input five students' scores: "); 21 for (i = 0; i < scores.Length; i++) 22 { 23 Console.WriteLine("No.{0} student's score: ",i+1); 24 scores[i] = int.Parse(Console.ReadLine());//
型別轉換 25 } 26 //開始排序--使用氣泡排序 27 for (i = 0; i < scores.Length - 1; i++)//控制比較多少輪 28 { 29 //將最大的元素交換到最後 30 for (j = 0; j < scores.Length - 1 - i; j++) 31 { 32 if (scores[j] > scores[j + 1]) 33 { 34 //交換元素 35 temp = scores[j]; 36 scores[j] = scores[j + 1]; 37 scores[j + 1] = temp; 38 } 39 } 40 } 41 //排序輸出 42 Console.WriteLine("the sorted scores: "); 43 for (i = 0; i < scores.Length; i++) 44 { 45 Console.WriteLine("{0}\t",scores[i]); 46 } 47 Console.ReadLine(); 48 } 49 } 50 }
View Code

如圖

經驗:

氣泡排序速記口訣(升序):

N個數字來排隊,兩兩相比小靠前。

外層迴圈N-1,內層迴圈N-1-i。

如果要降序排序,只要把程式中的大於號換成小於號就行了。