📄 quicksort.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 + -