兩種排序方法(冒泡排序、選擇排序)

選擇排序,每一次外循環,在無序數中選擇出一個最小,並放在無序數中的第一位數組

public static void SelectSort(int[] list)        //選擇排序(升序)
        {
            int min;//記錄最小值索引
            int N = list.Length;                      //得到數組list的長度N
            for (int i = 0; i < N - 1; i++)           //外循環進行N-1輪比較
            {
                min = i;//假設當前索引就是最小值索引
                for (int j = i; j < N ; j++)          //內循環中在無序數中找最小值(j=i這裏循環從i開始,由於i以前都是有序數,不用再比較了)
                {
                    if (list[min] > list[j])
                    {
                        min = j;
                    }
                }
                //最小值與無序數中的第一個元素交換
                int t = list[min];
                list[min] = list[i];
                list[i] = t;
            }
        }dom

 

冒泡排序,每一次外循環,其中的最大數就下沉到當前兩兩比較數的最後一位orm

 

public static void BubbleSort(int[] list)     //冒泡排序(升序)
        {
            int N = list.Length;                      //得到數組list的長度N
            for (int i = 1; i <= N - 1; i++)          //外循環進行N-1輪比較
            {
                for (int j = 0; j <= N - 1 - i; j++)   //內循環進兩兩比較,大數下沉(‘- i’外循環循環完一次選出一個最大值放在後面,後面的就不用再比較了,)
                {
                    if (list[j] > list[j+1])          //前一個數比後一個數大就替換當前兩個數,最後最大數就到最後一個了
                    {
                        int t = list[j];
                        list[j] = list[j+1];
                        list[j+1] = t;
                    }
                }
            }
        }排序

 

下面就讓咱們來實現一下吧!索引

private void Form1_Load(object sender, EventArgs e)        string

{             //數組排序             int[] iList = new int[5];             Random rd = new Random();             for (int i = 0; i < iList.Length; i++)             {                 int iRD = rd.Next(1, 51);                 if (iList.Contains(iRD))                 {                     i--;                     continue;                 }                 iList[i] = iRD;             }             BubbleSort(iList);it

            string strWrite = "";             foreach (int i in iList)             {                 strWrite += i + " ";             }             textBox1.Text = strWrite;         }object

相關文章
相關標籤/搜索