📄 px.cpp
字号:
//内部排序算法
#include <iostream.h>
#include "px.h"
sqlist l;
void main()
{
int circle=1;
int choice;
cout<<"选择排序算法:"<<endl;
cout<<"==================================================\n";
cout<<"1. 直接插入排序"<<endl;
cout<<"2. 折半插入排序"<<endl;
cout<<"3. 希尔排序"<<endl;
cout<<"4. 快速排序"<<endl;
cout<<"5. 简单选择排序排序"<<endl;
cout<<"6. 退出"<<endl;
cout<<"在选择排序前,先创建线形表:"<<endl;
InitList_Sq(l);
create_sq(l);
while(circle)
{
cout<<"请选择排序算法:"<<endl;
cin>>choice;
switch(choice)
{
case 1:
int i;
cout<<"直接插入排序后的线形表是:"<<endl;
insertsort(l);
for(i=1;i<=l.length;++i)
{
cout<<l.elem[i]<<'\t';
}
cout<<endl;
break;
case 2:
cout<<"折半插入排序后的线形表是:"<<endl;
middlesort(l);
cout<<endl;
break;
case 3:
int dk,t,k,dlat[100];
cout<<"输入第一趟插入排序的子序列数:";
cin>>t;
cout<<"输入希尔排序的增量:";
cin>>dk;
for(i=0;i<=t;i++)
{
dlat[i]=t-dk*i;
shellinsert(l,dk);
}
insertsort(l);
cout<<"希尔排序后的线性表是:"<<endl;
for(k=1;k<=l.length;k++)
cout<<l.elem[k]<<'\t';
cout<<endl;
break;
case 4:
int low;
int high;
low=1;high=l.length+1;
cout<<"快速排序后的线形表是:"<<endl;
quicksort(l,low,high);
for(i=2;i<=l.length+1;++i)
{
cout<<l.elem[i]<<'\t';
}
cout<<endl;
break;
case 5:
cout<<"简单选择排序后的线形表是:"<<endl;
selectsort(l);
for(i=1;i<=l.length;++i)
{
cout<<l.elem[i]<<'\t';
}
cout<<endl;
break;
case 6:
circle=0;
break;
}
cout<<"==================================================\n";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -