#include<iostream.h>
void sort(int[],int);
void main()
{
int b[5]={71,83,52,35,100};
cout<<"原始数据为:"<<endl;
for(int i=0;i<5;i++)
cout<<b[i]<<"\t";
cout<<endl;
sort(b,5); //数组名作为实参调用函数sort()
cout<<"排序后的数据为:"<<endl;
for(i=0;i<5;i++)
cout<<b[i]<<"\t";
cout<<endl;
}
void sort(int a[],int len) //数组名作为函数的形参
{
int temp,i,j,flag;
for(i=1;i<len;i++)
{
flag=1; //设交换标志,flag为1表示未交换
for(j=0;j<len-i;j++)
{
if(a[j]>a[j+1])
{
flag=0;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
if(flag==1) //某次未发生交换,排序结束
break;
}
}
注释:当用数组b作实参调用函数sort()时,将数组b的地址传递给形参数组a,a和b指向的是一个数组空间,因此在函数sort()中对数组a从小到大排序时,数组b中的数据也随之改变。(在数组作为函数参数时,形参数组一般不指定大小,大小由实参传递。)
本文展示了一个使用C++进行数组排序的示例程序。该程序定义了一个名为sort的函数,用于实现冒泡排序算法对整数数组进行升序排列,并在主函数中通过输出原始数组和排序后数组来验证排序效果。

被折叠的 条评论
为什么被折叠?



