搞了N次都记不住!今天在这里写下。。。。但愿不要再忘记
#include "stdafx.h"
#include"stdio.h"
void main()
{
void quickSort(int [],int,int);
int a[7]=...{8,2,6,12,1,9,5};
int i;
quickSort(a,0,6);
for(i=0;i<7;i++)
printf("%4d",a[i]);
}
void quickSort(int a[],int left,int right)
{
int i,j,temp;
i=left;
j=right;
temp=a[left];
if(left>right)
return;
while(i!=j)/**//*找到最终位置*/
{
while(a[j]>=temp && j>i)//从右往左
j--;//遇到小于temp的数据时候就跳出
if(j>i)
a[i++]=a[j];//跳出后执行——赋值
while(a[i]<=temp && j>i)//cong 左到右
i++; //遇到大于temp得时候,从右边赋值
if(j>i)
a[j--]=a[i];
}
a[i]=temp;
quickSort(a,left,i-1);/**//*递归左边*/
quickSort(a,i+1,right);/**//*递归右边*/
}