快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。
直接上干貨!
1. C語言:
#include <stdio.h>
#include <stdlib.h>void QSort(int A[],int Low,int High)
{int i,j,P;if(Low>=High) return;i=Low;j=High;P=A[Low];while(i<j){while(i<j && P<=A[j]) j--;if(i<j) {A[i]=A[j];i++; }while(i<j && A[i]<P) i++;if(i<j) {A[j]=A[i];j--; }}A[i]=P;QSort(A,Low,i-1);QSort(A,i+1,High);
}main()
{int a[]={49,38,65,97,76,13,27,49},i; QSort(a,0,7);for(i=0;i<8;i++)printf("%d ",a[i]);printf("\n");}