两种方式选择排序,see see~~~
#include<iostream>#include <string>
using namespace std;
int shuz(int a[],int length);
int main()
{
bool quit=false;
int i;
while(true)
{
int choice;
cout<<"请输入您的选择 :"<<endl;
cout<<"1.按数值大小进行排序"<<'\t'<<"2.按字符串大小进行排序"<<'\t'<<"3.quit"<<endl;
cin>>choice;
switch(choice)
{
case 1:
{
cout<<"您选择了按数值大小进行排序的选项"<<endl<<"请输入要排序6个数字:"<<endl;
const int N=6;
int data[N];
for(i=0;i<N;i++)
cin>>data[i];
cout<<endl<<endl;
shuz(data,N);
break;
}
case 2:
{
cout<<"您选择了按字符串大小进行排序的选项"<<endl<<"请输入要排序6个数字:"<<endl;
string s1,s2,s3,s4,s5,s6;
cin>>s1>>s2>>s3>>s4>>s5>>s6;
string a[6]={s1,s2,s3,s4,s5,s6};
for(i=0;i<5;i++)
for(int j=0;j<5-i;j++)
{
if(a[j]>a[j+1])
{
string temp;
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
for(i=0;i<6;i++)
cout<<a[i]<<'\t';
cout<<endl;
break;
}
case 3:
{
quit=true;
break;
}
default:
{
cout<<"输入有误"<<endl;
break;
}
}
if(quit==true)
break;
}
system("pause");
return 0;
}
int shuz(int a[],int length)
{
int i,j,temp;
for(i=0;i<length;i++)
cout<<a[i]<<'\t';
cout<<endl<<endl;
for(i=0;i<length-1;i++)
for(j=0;j<length-i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
cout<<"进行排序后:"<<endl;
for(i=0;i<length;i++)
cout<<a[i]<<'\t';
return 0;
}