内容发布更新时间 : 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 ();