c#实现所有经典排序算法(选择排序,冒泡排序,快速排序,插入排序,希尔排序) - worm 下载本文

内容发布更新时间 : 2024/11/13 5:52:01星期一 下面是文章的全部内容请认真阅读。

C#实现所有经典排序算法(选择排序,冒泡排序,快速排序,插

入排序,希尔排序) - worm...

C#实现所有经典排序算法(选择排序,冒泡排序,快速排序,插入排序,希尔排序)

1、选择排序

class SelectionSorter {

private int min;

public void Sort(int[] arr) {

for (int i = 0; i < arr.Length - 1; ++i) {

min = i;

for (int j = i + 1; j < arr.Length; ++j) {

if (arr[j] < arr[min]) min = j; }

int t = arr[min]; arr[min] = arr[i];

arr[i] = t; } }

static void Main(string[] args) {

int[] array = new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 };

SelectionSorter s = new SelectionSorter(); s.Sort(array);

foreach (int m in array)

Console.WriteLine(\ } }

2、冒泡排序

class EbullitionSorter {

public void Sort(int[] arr) {

int i, j, temp; bool done = false; j = 1;

while ((j < arr.Length) && (!done))//判

断长度 {

done = true;

for (i = 0; i < arr.Length - j; i++) {

if (arr[i] > arr[i + 1]) {

done = false; temp = arr[i];

arr[i] = arr[i + 1];//交换数据 arr[i + 1] = temp; } } j++; } }

static void Main(string[] args) {

int[] array = new int[] { 1, 5, 3, 6, 10, 55, 9, 2, 87, 12, 34, 75, 33, 47 };

EbullitionSorter e = new EbullitionSorter ();