快速排序

    技术2024-11-22  16

    说明:QuickSort为入口 RecType为数组或者是对象数据,他的一个属性key作为关键点,并对key进行排序,从小到大

     

    56 int Partition(RecType R[],int low,int high) 57 { 58 R[0]=R[low]; 59 int pivotkey=R[low].key; 60 while(low<high) 61 { 62 while(low<high && R[high].key>=pivotkey) 63 high--; 64 R[low]=R[high]; 65 while(low<high && R[low].key<=pivotkey) 66 low++; 67 R[high]=R[low]; 68 } 69 R[low]=R[0]; 70 return low; 71 } 72 //b.Qsort 73 void QSort(RecType R[],int low,int high) 74 { 75 if(low<high-1) 76 { 77 int location=Partition(R,low,high); 78 QSort(R,low,location-1); 79 QSort(R,location+1,high); 80 } 81 } 82 void QuickSort(RecType R[] ,int num) 83 { 84 QSort(R,1,num); 85 }

    最新回复(0)