数组的排序
来源:互联网 发布:微赞数据库管理员密码 编辑:程序博客网 时间:2024/05/16 00:33
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: 数组的排序*作 者:荆世琛 * 完成日期:2012年12月25日 * 版本号: v1.0 * 输入描述:无 * 问题描述:无 */ #include <iostream> #include <iomanip> using namespace std; void sort(int *p, int num); void output(int*, int); int main( ) { int a[20]={45,85,78,76,59,65,48,12,52,64,79,96,9,18,43,37,60,39,40,36}; int b[15]={27,61,47,88,4,20,28,31,52,62,64,19,88,27,73}; sort(a,20); //按降序排序a 中元素 cout<<"a数组按降序输出是: "; output(a,20); //输出排序后的数组 cout<<endl; sort(b,15); //按降序排序b 中元素 cout<<"b数组按降序输出是: "; output(b,15); //输出排序后的数组 cout<<endl; return 0; } void sort(int *p, int num) { int i,j,k,t; for(i=0;i<num-1;i++) { k=i; for(j=i+1;j<num;j++) if(*(p+j)>*(p+k)) k=j; t=*(p+k); *(p+k)=*(p+i); *(p+i)=t; } } void output(int *p,int num) { int i; for(i=0;i<num;i++) cout<<*(p+i)<<setw(3); }