冒泡排序算法
冒泡排序算法:
相邻两个数进行比较,小的往前排,大的往后靠,每进行一趟比较,都会选出一个最大的数放到最后,就像水泡一样,越往上浮,水泡就越大。
下面看一下代码:
pulic class BubbleSorter { public void Sort(int[] numArry) { int temp; for(int i=0;i<numArry.length-1;i++) { for(int j=0;j<numArray.length-i-1;j++) { if(numArry[j]>numArry[j+1]) { temp=numArry[j]; numArry[j]=numArry[j+1]; numaRRY[J+1]=temp; } } } } } public class Program { public static void Main() { int[] testArr = new int[] { 1, 5, 11, 6, 4, 21, 99, 2, 15, 11, 34, 0, 33, 47 }; BubbleSorter sh = new BubbleSorter(); sh.Sort(testArr); for (int m = 0; m < testArr.Length; m++) Console.Write("{0} ", testArr[m]); Console.Read(); } }
因为每一趟排序都使有序区增加了一个气泡,在经过n-1趟排序之后,有序区中就有n-1个气泡,而无序区中气泡的重量总是大于等于有序区中气泡的重量,所以整个冒泡排序过程至多需要进行n-1趟排序。若在某一趟排序中未发现气泡位置的交换,则说明待排序的无序区中所有气泡均满足轻者在上,重者在下的原则.