標籤:冒泡排序 排序演算法
冒泡排序是 一種比較簡單的排序演算法,其核心邏輯就是不斷地比較相鄰的兩個數,如果前數 大於 後數,就把 兩個數交換。 這樣一趟比較下來,確保把最小的數字移動到了數列開始位置,或者把最大的數字移動到了數列的結尾位置。
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
代碼如下:
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace bubble_sort{ class Program { static int calCount = 0; static void Bubble_Sort(ref int[] intArr) { for (int outside = 0; outside < intArr.Length-1; outside++) { for (int index = 0; index < intArr.Length-1-outside; index++) { calCount++; //如果前一個大於後一個,交換兩個值; if (intArr[index] > intArr[index + 1]) { intArr[index] = intArr[index] + intArr[index + 1]; intArr[index + 1] = intArr[index] - intArr[index + 1]; intArr[index] = intArr[index] - intArr[index + 1]; } } } } static void Main(string[] args) { int[] intArr = new int[10] { 51, 41, 31, 91, 81, 71, 61, 21, 11, 0 }; Console.Write("排序前:"); for (int i = 0; i < intArr.Length; i++) { Console.Write(intArr[i]+" "); } Console.WriteLine(); Bubble_Sort(ref intArr); Console.Write("排序後:"); for (int i = 0; i < intArr.Length; i++) { Console.Write(intArr[i] + " "); } Console.WriteLine(); Console.WriteLine("計算次數:" + calCount); Console.ReadLine(); } }}轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn
冒泡排序 ( C# 向)