百度空间 | 百度首页 
 
查看文章
 
向函数传递数组进行排序
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;
}
}

类别:Coding | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
本篇日志被作者设置为禁止发表新评论

     

©2009 Baidu