⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch7_11.cpp

📁 本文档是(作者:钱能)《C++程序设计教程》系列的部分辅助代码。 选题编辑:张朝阳 责任编辑:徐培忠、林庆嘉 有关代码的具体问题请与作者联系。
💻 CPP
字号:
//**********************
//**    ch7_11.cpp    **
//**********************

#include <iostream.h>

void qsort(int[],int,int);

void main()
{
  int array[]={55,2,6,4,11,12,9,73,26,37};
  int len=sizeof(array)/sizeof(int);
  for(int i=0; i<len; i++)    //原始顺序输出
    cout <<array[i] <<",";
  cout <<endl <<endl;

  qsort(array,0,len-1);       //调用排序函数

  for(int i=0; i<len; i++)    //排序结果输出
    cout <<array[i]<<",";
  cout <<endl;
}

void qsort(int a[],int left,int right)    //快速排序法
{
  int pivot=a[right],l=left,r=right,temp;
  while(l<r){
    temp=a[l], a[l]=a[r], a[r]=temp;  //交换
    while(l<r && a[r]>pivot) --r;
    while(l<r && a[l]<=pivot) ++l;
  }
  temp=a[left], a[left]=a[r], a[r]=temp;  //使得a[r]成为分界元
  if(left<r-1) qsort(a,left,r-1);
  if(r+1<right) qsort(a,r+1,right);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -