选择排序算法 代码如下:
using System; namespace AlgorithmDemo { class Program { static void Main(string[] args) { int[] arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i] = new Random(DateTime.Now.Millisecond + i).Next(1, 100); } Console.WriteLine("排序之前的数组为 :********************************"); arr.Show(); Console.WriteLine(); Console.WriteLine("排序中的数组为 :********************************"); SelectionSort(arr); Console.WriteLine("排序之后的数组为 :********************************"); arr.Show(); Console.Read(); } static void SelectionSort(int[] arr) { int min, temp; for (int outer = 0; outer < arr.Length; outer++) { min = outer; for (int inner = outer + 1; inner < arr.Length; inner++) { if (arr[inner] < arr[min]) { min = inner; } } temp = arr[outer]; arr[outer] = arr[min]; arr[min] = temp; arr.Show(); } } } public static class Extensions { public static void Show(this int[] arr) { foreach (var item in arr) { Console.Write(item + " "); } Console.WriteLine(); } } }
排序之前的数组为 :********************************
86 90 43 94 47 99 52 4 56 9
排序中的数组为 :********************************
4 90 43 94 47 99 52 86 56 9
4 9 43 94 47 99 52 86 56 90
4 9 43 94 47 99 52 86 56 90
4 9 43 47 94 99 52 86 56 90
4 9 43 47 52 99 94 86 56 90
4 9 43 47 52 56 94 86 99 90
4 9 43 47 52 56 86 94 99 90
4 9 43 47 52 56 86 90 99 94
4 9 43 47 52 56 86 90 94 99
4 9 43 47 52 56 86 90 94 99
排序之后的数组为 :********************************
4 9 43 47 52 56 86 90 94 99