C++编写函数void sort(int *x,int n),利用指针采用选择法对随机数组中的10个数做从大到小的排序
intmain(){intarray[10]={3,2,5,8,0,4,9,7,1,6},*p;p=array;cout<<"逆序前数组:"<<endl;printArr...
int main()
{
int array[10] = {3,2,5,8,0,4,9,7,1,6},*p;
p = array;
cout << "逆序前数组:" << endl;
printArray(p, 10);
sort(p, 10);
cout << "逆序后数组;" << endl;
printArray(p, 10);
return 0;
}
这是主函数,求大神 展开
{
int array[10] = {3,2,5,8,0,4,9,7,1,6},*p;
p = array;
cout << "逆序前数组:" << endl;
printArray(p, 10);
sort(p, 10);
cout << "逆序后数组;" << endl;
printArray(p, 10);
return 0;
}
这是主函数,求大神 展开
展开全部
从大到小的简单选择排序,希望可以帮助你:
void Sort(int * array, int length) /*对记录数组array做简单选择排序,length为待排序记录的个数*/
{
int temp;
for ( i=0 ; i< length-1 ; i++) //n-1趟排序
{
int index=i; //假设index小标的元素最大
for ( j=i+1 ; j < length ; j++) //查找更大记录的位置
if (*(array+j)>*(array+index) )
index=j;
if ( index!=i) //若无序区第一个元素不是无序区中最大元素,则进行交换
{ temp= *(array+i); *(array+i)=*(array+index); *(array+index)=temp; } //利用temp作为临时空间,两个值交换的桥梁
}
}
void Sort(int * array, int length) /*对记录数组array做简单选择排序,length为待排序记录的个数*/
{
int temp;
for ( i=0 ; i< length-1 ; i++) //n-1趟排序
{
int index=i; //假设index小标的元素最大
for ( j=i+1 ; j < length ; j++) //查找更大记录的位置
if (*(array+j)>*(array+index) )
index=j;
if ( index!=i) //若无序区第一个元素不是无序区中最大元素,则进行交换
{ temp= *(array+i); *(array+i)=*(array+index); *(array+index)=temp; } //利用temp作为临时空间,两个值交换的桥梁
}
}
更多追问追答
追问
E:\C++\MyProjects\1\1.cpp(6) : error C2065: 'i' : undeclared identifier
E:\C++\MyProjects\1\1.cpp(8) : error C2018: unknown character '0xa3'
…………执行 cl.exe 时出错.
出现了这些,我把主函数加到后面去了
追答
int temp;改为int temp,i;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询