分别用冒泡法(升序)、选择法(降序)、擂台法(升序)编写3个一维数组进行排序的函数
分别用冒泡法(升序)、选择法(降序)、擂台法(升序)编写3个一维数组进行排序的函数,函数名为sort1()、sort2()、sort3()。再定义一个输出元素值的函数print()。在主函数中定义一维整型数组 a[N](N=10),用键盘输入10个整数给a[N]数组。依次调用sort1()、print()、sort2、print()、sort3、print(),进行升序、降序、升序排列的操作,并输出每次排序後的结果。
老实说,我对 编写函数时的参数传送 不是很掌握,所以下面我的程序,不知道如何正确给参数?麻烦大家帮我看看?
#include<iostream.h>
#define N 10
void sort1()
{
int i,j,temp=0;
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
{
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
}
}
void sort2()
{
int i,j,temp=0];
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
{
if(a[i]>a[j])
{temp=a[i];a[i]=a[j];a[j]=temp;}
}
}
void sort3()
{
int i,j,temp=0;
for(i=0;i<N-1;i++)
{
int k=i;
for(j=j+1;j<N;j++)
{
if(a[k]>a[j])
k=j;
if(k>j)
{temp=a[i];a[i]=a[k];a[k]=temp;}
}
}
}
void print()
{
cout<<"排序后的a[N]是:"<<endl;
int i;
for(i=0;i<N-1;i++)
{
cout<<a[i]<<endl;
}
}
void main()
{
int a[N];
cout<<"请对a[N]赋值:"<<endl;
int i;
for(i=0;i<10;i++)
{cin>>a[i];}
cout<<"冒泡法:"<<endl;
void sort1();
void print();
cout<<"选择法:"<<endl;
void sort2();
void print();
cout<<"擂台法:"<<endl;
void sort3();
void print();
}