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

📄 quicksort.txt

📁 快速排序是对冒泡排序的一种改进的排序方法
💻 TXT
字号:
//快速排序
#include<iostream.h>
int divideareasort(int r[],int s,int t)
 {	int i,j;       //定义指示器变量
	int temp;       //  定义寄存工作单元
	i=s;j=t;        //区间指示器变量初始化
	temp=r[s];      //确定分割基准
	do
	{	while((r[j]>=temp)&&(i<j))
		j--;       //自后向前扫描找小于基准关键字的记录
		if(i<j)
		{	r[i]=r[j];  //把r[j]移入r[i]中
			i++;      //另i指向i+1
		}
		while((r[i]<=temp)&&(i<j))
			i++;    //自前向后扫描找大于基准关键字的记录
         if(i<j)
		 {	 r[j]=r[i];
			 j--;
		 }
	}while(i<j);   //当i<j时重复以上过程
	r[i]=temp;     //将基准记录移入最终位置
	return i;      //返回基准记录的阿最终位置i
}
void quicksort(int r[],int s,int t)  //对待排序文件进行快速排序
{	int i;
	if(s<t)
	{	i=divideareasort(r,s,t);  //分割区间并把基准位置送i
		quicksort(r,s,i-1); //对基准记录前的区间快速排序
		quicksort(r,i+1,t);  //对基准记录后的区间快速排序
	}
}
void main()
{	int r[10]={14,41,3,22,18,5,7,99,13,100},s=0,t=8;

        cout<<"输出数组:" ;
	for(int i=1;i<10;i++)
	    cout<<r[i]<<' ';
	cout<<endl;

	quicksort(r,s,t);     //快速排序
        cout<<"排序后结果:";
	for(int i=1;i<10;i++)
		cout<<r[i]<<' ';
}

⌨️ 快捷键说明

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