程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#冒泡排序法

C#冒泡排序法

編輯:C#基礎知識

基本原理

    比較兩個相鄰的數的大小,每次比較完後把最大的數放到本輪的末尾。假設有數組: 258,445,131,97,22,36,17,38,28,28,第一輪:258和445比較,位置不用交換。第二輪:445和131比較,445比131大,那麼445在後,131在前,以此類推,第一輪 結果為:258,131,97,22,36,17,38,28,50,445,經過第一輪比較,最大的元素跑到了最後一個,所以第二輪比較,最後一個元素不需要進行比較了。第二輪還是從索引0和1開始比較,只是不許要比較最後一個了,算法還是一樣的。第三輪、第四輪以此類推。

代碼

  public class Program
    {
       static List<int> list = new List<int>() { 258,445,131,97,22,36,17,38,28,50 };
        static void Main(string[] args)
        {
            int temp;
            for (int i = list.Count; i > 0; i--)
            {
                for (int j = 0; j < i - 1; j++)
                {
                    if (list[j] > list[j + 1])
                    {
                        temp = list[j];
                        list[j] = list[j + 1];
                        list[j + 1] = temp;
                    }
                }
                printlist();
            }
            Console.ReadLine();
        }
        static void printlist()
        {
            foreach( var s in list)
            {
                Console.Write(string.Format("{0}  ",s));
            }
            Console.WriteLine();
        }

    }

輸出結果

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved