算法系列03---冒泡排序

 

一、什麼是冒泡排序

冒泡排序(Bubble
Sort),是一種計算機科學領域的較簡單的排序算法。它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。

這個算法的名字由來是因爲越小的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。

二、冒泡排序算法的思想
我們從左邊開始把相鄰的兩個數兩兩做比較,當一個元素大於右側與它相鄰的元素時,交換它們之間位置;反之,它們之間的位置不發生變化。冒泡排序是一種穩定的排序算法。

 

三、C#代碼實現

 class BubbleSort
    {
        public static void Sort(int[] arry)
        {
            int temp = 0;
            for (int i = 0; i < arry.Length; i++)
            {
                for (int j = 0; j < arry.Length-1; j++)
                {
                    //如果前一位數比後一位數大,則交換位置
                    if(arry[j]>arry[j+1])
                    {
                        temp = arry[j];
                        arry[j] = arry[j+1];
                        arry[j+1] = temp;
                    }
                }
            }
            Console.WriteLine("冒泡排序:"+string.Join(",",arry));
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章