选择排序...遇到了一点麻烦...
我的程序是
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#define max 10
int EstablishList() //利用随机函数产生数组
{
int list[max],i;
for(i=0;i<max;i++)
{
list[i]=rand()%max+1;
printf("%3d",list[i]); //打印原来的数组元素
}
return list; //本行的错误提示是“cannot convert from 'int [10]' to 'int'”
}
int SelectMinKey(int list[max],int i)
{
int j;
for(i=1,j=0;i<max;i++)
{
if(list[i]<list[j])
j=i;
}
return j;
}
int SelectSort(int list[],int j)
{
int i,t;
for(i=0;i<max;++i)
{
for(i=1,j=0;i<max;i++) //找到最小值
{
if(list[i]<list[j])
j=i;
}
j=SelectMinKey(list,j);
if(i!=j) //交换位置,将最小值一道最前面
{
t=list[i];
list[i]=list[j];
list[j]=t;
}
}
return list; //本行的错误提示是cannot convert from 'int [10]' to 'int'
}
int main() //最终目的是将数组由小到大输出
{
int list[max],i,j;
EstablishList();
printf("\n");
SelectSort(list,j);
for(i=0;i<max;++i) //打印排序后的数组元素
{
printf("%3d",list[i]);
}
getchar();
return 0;
}
求高手解答...感激不尽...