标签:
#include<stdio.h> #include<string.h> #include<stdlib.h> void printfArray(int *array,int arraySize) { printf("\nPrint Array start--------------\n"); for(int i =0;i<arraySize;i++) { printf("%d ",*(array+i)); } printf("\nPrint Array end --------------\n"); } int partition(int *array,int p,int r) { int partElement = *(array+r); int lastSmallerIndex = p-1; for(int j = p;j<=r-1;j++) { if(*(array+j)<=partElement ) { lastSmallerIndex++; int temp = *(array+lastSmallerIndex); *(array+lastSmallerIndex) = *(array+j); *(array+j) = temp; } } *(array+r) = *(array+lastSmallerIndex+1); *(array+lastSmallerIndex+1) = partElement; return (lastSmallerIndex+1); } void quickSort(int *array,int p,int r) { if(p<r){ int q = partition(array,p,r); quickSort(array,p,q-1); quickSort(array,q+1,r); } } void test(){ int testArray[ ] = {6,4,7,3,2,7,9,10}; int length = sizeof(testArray)/sizeof(int); printfArray(testArray,length); quickSort(testArray,0,length-1); printfArray(testArray,length); } int main() { test( ); }
标签:
原文地址:http://www.cnblogs.com/pencilCool/p/4673898.html