c语言实现快速排序

之前写在其它地方的博客
对整型数组的快速排序使用的是递归
 1 #include<stdio.h>
 2 int Partition(int a[],int low,int high)
 3 {
 4   int pivotkey = a[low];
 5   while(low<high)
 6   {
 7     if(low<high && a[high]>=pivotkey) --high;
 8     a[low]=a[high];
 9     if(low<high && a[low]<=pivotkey) ++low;
10     a[high]=a[low];
11    }
12   a[low]=pivotkey;
13   return low;
14 }
15  
16 void Quick_Sort(int a[],int low,int high)
17 {
18   if(low<high) 
19   {
20     int position = Partition(a,low,high);
21     Quick_Sort(a,low,poisition-1);
22     Quick_Sort(a,poisition+1,high);
23   }
24 }
25  
26 void main()
27 {
28   int a[4]={45,56,23,5};
29   Quick_Sort(a,0,3);
30 }

 

posted @ 2013-04-08 21:01  asdfzxcvqwer  阅读(282)  评论(0编辑  收藏  举报