冒泡排序算法

冒泡排序算法:

  相邻两个数进行比较,小的往前排,大的往后靠,每进行一趟比较,都会选出一个最大的数放到最后,就像水泡一样,越往上浮,水泡就越大。

  下面看一下代码:

  

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趟排序。若在某一趟排序中未发现气泡位置的交换,则说明待排序的无序区中所有气泡均满足轻者在上,重者在下的原则.

你可能感兴趣的:(冒泡排序)