/*
* 程序的版权和版本声明部分
* 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);
}
数组的排序
最新推荐文章于 2024-07-24 20:02:07 发布