首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

資料結構經典演算法:C# 實作選擇排序法

     編輯:關於C語言

選擇排序每輪選出最小元素交換到前端:

using System;

namespace SelectionSorter {
    public class SelectionSorter {
        private int min;
        public void Sort(int[] list) {
            for (int i = 0; i < list.Length - 1; i++) {
                min = i;
                for (int j = i + 1; j < list.Length; j++)
                    if (list[j] < list[min]) min = j;
                int t = list[min];
                list[min] = list[i];
                list[i] = t;
            }
        }
    }

    public class MainClass {
        public static void Main() {
            int[] arr = {1,5,3,6,10,55,9,2,87,12,34,75,33,47};
            var sorter = new SelectionSorter();
            sorter.Sort(arr);
            foreach (var n in arr) Console.Write("{0} ", n);
            Console.WriteLine();
        }
    }
}

時間複雜度 O(n²),交換次數最少(最多 n-1 次),適合寫入成本高的儲存媒體。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved