本文共 1862 字,大约阅读时间需要 6 分钟。
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 快速排序{ class Program { static void Main(string[] args) { int[] a = new int[] { 8, 4, 6, 3, 2, 1, 8, 5, 11, 25 }; Console.WriteLine("未排序之前的顺序:"); foreach (int s in a) { Console.WriteLine(" {0}", s); } QuickSort(a,0,a.Length-1); Console.WriteLine("排序之后的顺序:"); foreach (int s in a) { Console.WriteLine(" {0}", s); } Console.ReadKey(); } public static void QuickSort(int[] Arr, int left,int right) { if (left >= right) { return; } int i = left; int j = right; int key = Arr[left]; while (i < j) { while (i < j && key <= Arr [j]) { j--; } Arr[i] = Arr[j];//这个时候a[j]就是个空位 while (i < j && key > Arr[i]) { i++; } Arr[j] = Arr[i];//这个时候a[i]就是个空位 } Arr[i] = key;//用key填上空位 QuickSort(Arr, left, i - 1); QuickSort(Arr, i + 1, right); } }}