1
using
System;
2![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
namespace
MyQSort
{
3
public class QSort //可以写成static public class QSort
4![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
5
private static int[] toBeSort;
6![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
private static void swap(int a,int b)
{
7
int c;
8
c=toBeSort[a];
9
toBeSort[a]=toBeSort[b];
10
toBeSort[b]=c;
11
}
12![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**////<sumary>
13
///分割函数
14
///</sumary>
15![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
private static int Partition(int low,int high)
{
16
int pivoKey=toBeSort[low];
17![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
while(low<high)
{
18
while(low<high && (toBeSort[high] >= pivoKey)) --high;
19
swap(low,high);
20
while(low<high && (toBeSort[low] <= pivoKey)) ++low;
21
swap(low,high);
22
}
23
return low;
24
}
25![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
private static void QQSort(int low,int high)
{
26
int pivoLoc;
27![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
if(low<high)
{
28
pivoLoc=Partition(low,high);
29
QQSort(low,pivoLoc-1);
30
QQSort(pivoLoc+1,high);
31
}
32
}
33![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static int[] QuickSort(int [] a)
{
34
toBeSort=a;
35
QQSort(0,toBeSort.Length-1);
36
return toBeSort;
37
}
38![](/Images/OutliningIndicators/InBlock.gif)
39
};
40
}
41
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
12
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/InBlock.gif)
22
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
23
![](/Images/OutliningIndicators/InBlock.gif)
24
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
32
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
![](https://www.cnblogs.com/Images/dot.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
40
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
41
![](/Images/OutliningIndicators/None.gif)