quick1.cpp

来自「冒泡法,快速排序等排序的实现」· C++ 代码 · 共 34 行

CPP
34
字号
//思想是:采用递归方式;基本途径是划分,然后分别排列前后两段,如此分直到最后的小段内。只有一个元素。
#include"iostream.h"
#include"paixu.h"

int partition(int a[],int low,int high)//用来划分的函数
{int pivot=a[low];//不变条件,。对所有小于low的i都有a[i]<=pivot;
while(low<high)
{
	while(low<high&&a[high]>=pivot)
		high--;
	if(low<high)
	{a[low]=a[high];
	low++;
	}
 
  while(low<high&&a[low]<=pivot)
     low++;
   if(low<high)
   {a[high]=a[low];
   high--;
   }
}//
a[high]=pivot;
return high;
}
void quicksort(int a[],int low,int high)
{if(low>=high) return;
int mindex=partition(a,low,high);
quicksort(a,low,mindex-1);
quicksort(a,mindex+1,high);
 for(int i=1;i<high+1;i++)
	  cout<<a[i]<<",";
  cout<<endl;
}

⌨️ 快捷键说明

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