快速排序的实现--代码
生活随笔
收集整理的這篇文章主要介紹了
快速排序的实现--代码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
#include<stdio.h>int a[10000];
void QickSort(int a[],int l,int r)
{int temp;int i=l,j=r;if(l<r){temp=a[l];//存val的值while(i!=j){while(j>i&&a[j]>temp) --j;// 從右往左找出該數(shù)比val值小的數(shù)if(i<j){a[i]=a[j];//放在val的左 邊++i;//i右移動}while(i<j&&a[i]<temp) ++i;// 從左往右掃描,找出一個(gè)大于val的值if(i<j){a[j]=a[i];//放在val的右 邊--j;//j左移動}}a[i]=temp;//將值放在找到的位置上QickSort(a,l,i-1);//對該值左邊序 列進(jìn)行排序QickSort(a,i+1,r);//對該值右邊序 列進(jìn)行排序}
}
int main()
{int n;scanf("%d",&n);for(int i=0;i<n;i++)scanf("%d",&a[i]);QickSort(a,0,n-1);for(int i=0;i<n;i++)printf("%d ",a[i]);return 0;
}
總結(jié)
以上是生活随笔為你收集整理的快速排序的实现--代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: String、StringBuilder
- 下一篇: 使自己的注意力集中方法