#include
using namespace std;
int main()
{ void select(int array[],int n);
int a[10],i;
for(i=0;i<=9;i++)
cin>>a[i];
select(a,10);
for(i=0;i<=9;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
void select(int array[],int n)
{
int i,j,k,temp;
for(i=0;i<9;i++)
{ k=i;
for(j=i+1;j<10;j++)
if(array[j]<array[k])
k=j;
temp=array[k];array[k]=array[i];array[i]=temp;
}
}
调用函数部分为什么不能写成这样:
void select(int array[],int n)
{
int i,j,temp;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
if(array[j]<array[i])
temp=array[i];array[i]=array[j];array[j]=temp;
}
}
问一下,你这是要进行冒泡排序吗?下面那个函数中if语句之后缺少一个大括号吧。
void select(int array[],int n)
{
int i,j,temp;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(array[j]<array[i])
{
temp=array[i];array[i]=array[j];array[j]=temp;
}
}
}
}
运算效率的问题,第一种的执行效率比第二种的高,变量赋值比数组赋值效率高。
前一种方法是循环先把最小的值的下标找出来,最后做值调整,
而你的做法是发现小的就换值,两个方法都可以,但是数组赋值的效率比变量赋值要慢,
我也新手,这是我个人的看法。