快速排序算法

#include<stdio.h>void swap(int *p,int *q){ if(p==q) return; else { int tmp=*p; *p=*q; *q=tmp; }}int Partition(int *arr,int p,int r){ int x=arr[r]; int i=p-1; int j=p; for(;j<=r-1;j++) { if(arr[j]<=x) { i=i+1; swap(&arr[i],&arr[j]); } } swap(&arr[i+1],&arr[r]); return i+1;}void QuickSort(int *arr,int p,int r){ if(p<r) { int q=Partition(arr,p,r); QuickSort(arr,p,q-1); QuickSort(arr,q+1,r); }}int main(){ int arr[]={0,12,3,45,2,345,67,6,88,6}; int length=sizeof(arr)/sizeof(arr[0])-1; QuickSort(arr,1,length); int i=1; for(;i<=length;i++) { printf(“%d “,arr[i]); } system(“pause”); return 0;}

,所有的胜利,与征服自己的胜利比起来,都是微不足道

快速排序算法

相关文章:

你感兴趣的文章:

标签云: