查看文章 |
向函数传递数组进行排序
2009-02-09 21:08
//在函数中对数组参数的修改会影响到实参本身的值,因为我们在函数中将内存中的数据作了操作,所以影响到了实参。 #include<iostream> #include<iomanip> using namespace std; void sort(int a[],int size);//将数组从大到小排序 int main(){ int num[]={2,3,4,5,6,1,8,9}; const int size=sizeof(num)/sizeof(int); sort(num,size); cout<<"排列后的数组元素"<<endl; for(int i=0;i<size;i++){//输出排好以后的数组 cout<<setw(2)<<num[i]; } cout<<endl; return 0; } void sort(int a[],int size){ cout<<"原来的数组元素"<<endl; for(int i=0;i<size;i++){//输出原来的数组 cout<<setw(2)<<a[i]; } cout<<endl; for(int j=0;j<size;j++){//直接选择排序法 int min=a[j],mink=j;//假设未排序的首元素是最小的数字 for(int k=j;k<size;k++){//找到尚未排序元素中最小的数字 if(a[k]<min){//轮流的执行所有的数组元素和第一个元素比较,假设比第一个小 min=a[k]; mink=k; } } int temp=a[j];//交换两个数字 a[j]=a[mink]; a[mink]=temp; } } |
最近读者:
本篇日志被作者设置为禁止发表新评论