您的位置:首页 > 其它

冒泡排序、选择排序、插入排序

2013-04-28 19:33 190 查看
#include
#define maxsize 100
using namespace std;

void Swap(int &x,int &y)
{
int tmp;

tmp=x;
x=y;
y=tmp;
}
void Bubble(int str1[],int n)//冒泡排序
{
int i,j;
int tmp;

for(i=0;ii;j--)
{
if(str1[j]<str1[j-1])
{
Swap(str1[j],str1[j-1]);
}
}
for(i=0;i<n;i++)
cout<<str1[i]<<" ";
cout<<endl;

}

void InsertSort(int str1[],int n)//插入排序
{
int i,j;

for(i=0;i<n;i++)
{
j=i;
while(str1[j]<str1[j-1])
{
Swap(str1[j],str1[j-1]);
j=j-1;
}
}
for(i=0;i<n;i++)
cout<<str1[i]<<" ";
cout<<endl;
}

void SelectSort(int str1[],int n)//选择排序
{
int i,j;
int max=0,r=0;//r为index

for(i=0;i<n;i++)
{
r=i;
max=str1[i];//将str1[i]设为max
for(j=i;jstr1[j-1])//i之后的元素要是比前一个元素大,就设之为max
{
r=j;
max=str1[j];
}
Swap(str1[j],str1[r]);
}
}
for(i=0;i<n;i++)
cout<<str1[i]<<" ";
cout<<endl;
}
/*
void quicklySort()
{

}

void shellSort()
{

}

void heapSort()
{

}

*/
int main()
{
int i,str1[maxsize]={0};
int n;

cout<<"请输入要排序的个数:";
cin>>n;

for(i=0;i>str1[i];
}
cout<<"冒泡排序:";
Bubble(str1,n);
cout<<"插入排序:";
InsertSort(str1,n);
cout<<"选择排序:";
SelectSort(str1,n);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐