冒泡排序算法

冒泡排序算法:

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

  下面看一下代码:

  

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

posted @ 2013-09-23 22:52  YoMe  阅读(209)  评论(0编辑  收藏  举报