|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <iostream>
void print(int m)
{std::cout<<m<<'\t';
}
void sort1(int a[10],int n)
{int i,j,temp;
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
{if(a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;//冒泡法
}
for(i=0;i<10;i++)
print(a[i]);
}
}
void sort2(int a[10],int n)
{int i,j,temp;
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
{if(a[i]>a[j])
temp=a[i];
a[i]=a[j];
a[j]=temp; //选择法
}
for(i=0;i<10;i++)
print(a[i]);
}
//这段代码中没有递归调用,直接简单函数调用即可。sort3有错误,简单修改如下:
void sort3(int a[10],int n)
{int i,j,temp,min;
for(i=0;i<10;i++)
{
min=i;
for(j=i;j<10;j++)
{if(a[min]>a[j])min=j;}
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
for(i=0;i<10;i++)
print(a[i]);
}
void main(void)
{ int a[10],i;
std::cout<<"Enter 10 numbers:";
for(i=0;i<10;i++)
std::cin>>a[i];
sort1(a,10);
sort2(a,10);
sort3(a,10);
system("pause");
}
|
|