快速排序.cpp

来自「3个关于排序的C程序」· C++ 代码 · 共 40 行

CPP
40
字号
#include <iostream.h>
void qsort(int a[],int left,int right)
{ int pivot,l,r,temp;

  l=left;
  r=right;
  pivot=a[(l+r)/2];

  while(l<r)
    { while(a[l]<pivot) ++l;
      while(a[r]>pivot) --r;

      if(l>=r) break;

      temp=a[l];
      a[l]=a[r];
      a[r]=temp;
      if(l!=pivot)--r;
      if(r!=pivot)++l;
      } 
  if(l==r)l++;
  if(left<r) qsort(a,left,l-1);
  if(l<right) qsort(a,r+1,right);
  }

  void main( )
  { int a[5]={1,5,7,2,4};
    int i;

    for(i=0;i<5;i++)
      cout << a[i] << " ";
    cout << "\n";
    qsort(a,0,4);
    for(i=0;i<5;i++)
      cout << a[i] << " ";
    cin >> i;
    }


⌨️ 快捷键说明

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