C++ 对数组元素的排序~~~出问题!!! 求高手来~~急急.

来源:百度知道 编辑:UC知道 时间:2024/05/22 10:12:20
void sort_m(int(&)x[],int y)
{
int z;
for(int i=0;i<y;++i)
{
int j=i;
for(int k=i+1;k<=y;k++)
{
if(x[k]<x[j]) j=k;
if(i!=j)
{
z=x[j];x[j]=x[i];x[i]=z;
}
}
}
}

void main()
{
int m[10]={5,1,2,6,3,2,7,9,8,4};
int bit_m=10;
sort_m(m,bit_m);
for(int i=0;i<bit_m;i++)
{
cout<<"第"<<i+1<<"个元素为:"<<m[i]<<endl;
}
}
各位,我的意思是: 在函数里想用引用参数,引用数组m的地址, 然后对m进行排序.

解决后再加分~!

void sort_m(int* x, int y) //冒泡法
{
int z;
for(int i=0;i<y;i++)
{
for(int k=i+1;k<y;k++)
{
if(x[k]<x[i])
{
z=x[i];x[i]=x[k];x[k]=z;
}
}
}
}

int(&)x[] 你这么写想表达什么??
改成 int x[20] 数组做为形参要给出元素个数

#include <iostream>
using namespace std;
void sort_m(int x[],int y)
{
int flag=0;
do{
flag=0;
for(int i=0;i<y-1;++i)
if (x[i]>x[i+1])
{flag=1;
x[i]=x[i+1]+x[i];
x[i+1]=x[i]-x[i+1];
x[i]=x[i]-x[i+1];}
}while(flag==1);
}

main()
{
int m[10]={5,1,2,6,3,2,7,9,8,4};
int bit_m=10;
sort_m(m,bit_m);
for(int i=0;i<bit_m;i++)
{
cout<<"第"<<i+1<<"个元素为:"<<m[i]<<endl;
}
}

#include <iostream>
using namespace std;

typedef int array[10]; //////////////////////

void sort_m(array