C#完成冒泡排序算法的代碼示例。本站提示廣大學習愛好者:(C#完成冒泡排序算法的代碼示例)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成冒泡排序算法的代碼示例正文
1、道理:從數組的第一個地位開端兩兩比擬array[index]和array[index+1],假如array[index]年夜於array[index+1]則交流array[index]和array[index+1]的地位,止到數組停止;
從數組的第一個地位開端,反復下面的舉措,止到數組長度減一個地位停止;
從數組的第一個地位開端,反復下面的舉措,止到數組長度減二個地位停止;
。。。。
2、時光龐雜度:O(N²),停止了(n-1)*(n-2)....=n*(n-1)/2次比擬和約比擬次數一半的交流次數(均況下),那末依據年夜O表現法時光龐雜度為O(N^2)
3、代碼示例:
using System; namespace MySort { //先樹立一個類,今後把一切排序辦法都放到這個類裡, public class SumSort { //冒泡排序辦法,從小到年夜排,固然許多冒泡排序都是從年夜到小, //可是我就想這麼排,你能怎樣著我。 public void PopSort(int[] list) { int i, j, temp; //先界說一下要用的變量 for (i = 0; i < list.Length - 1; i++) { for (j = i + 1; j < list.Length; j++) { if (list[i] > list[j]) //假如第二個小於第一個數 { //交流兩個數的地位,在這裡你也能夠零丁寫一個交流辦法,在此挪用就好了 temp = list[i]; //把年夜的數放在一個暫時存儲地位 list[i] = list[j]; //然後把小的數賦給前一個,包管每趟排序後面的最小 list[j] = temp; //然後把暫時地位的誰人年夜數賦給後一個 } } } } } public class test { //這裡給一組測試數據,打印輸入看看排序辦法的後果若何 static void Main() { int[] arr = { 1, 4, 2, 43, 5, 61, 89, 34, 67, 32, 40 }; //把數據排序類實例化一下,然後挪用辦法。 //甚麼?還要實例,可我不想實例化怎樣辦? //那也沒有關系,把PopSort辦法前加一個static,直接挪用SumSort.PopSort(arr)就行了 SumSort mysort = new SumSort(); //來來來,年夜家按高矮排個隊,矮的排後面高的排前面 mysort.PopSort(arr); //真聽話,看看年夜家都排第幾位了 for (int i = 0; i < arr.Length; i++) { Console.Write("第{0}位是{1}\n", i + 1, arr[i]); } Console.WriteLine(); } } }