辅导笔记(3):快速排序

#include

using namespace std;

int a[101],n;

void quicksort(int left,int right){

int i=left,j=right;

int k=a[left];//变量k临时存放最左边的元素,单独保存

while(i

  //先从最右边开始

  while(a[j]>=k&&i

      j--;

  a[i]=a[j];//替换

  while(a[i]<=k&&i

      i++;

  a[j]=a[i];

}

  a[i]=k;  //把k还原到i的位置,a[i]元素

  if(left

  if(i

}

int main(){

cin>>n;

for(int i=1;i<=n;i++)  cin>>a[i];

quicksort(1,n);

for(int i=1;i<=n;i++)  cout<

return 0;

}

你可能感兴趣的:(辅导笔记(3):快速排序)