16周项目1--数组排序

来源:互联网 发布:河升镇nba数据 编辑:程序博客网 时间:2024/06/05 19:35

问题及代码:

/* *Copyright(c) 2014 烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:尚 月 *完成日期:2014年 12 月 15 日 *版本号:V1.0 * *问题描述:把数组按降序排列 *程序输出:输出排列后的新顺序 */#include <iostream>using namespace std;void sort(int *p,int num);      //不要对自定义函数的声明有任何改动void output(int*,int );       //形式参数的名称可以不要int main(){    int a[20]= {86,46,22,18,77,45,32,80,26,88,57,67,20,18,28,17,54,49,11,16};    int b[15]= {27,61,49,88,4,20,28,31,42,62,64,14,88,27,73};    sort(a,20);      //用冒泡法按降序排序a中的元素    output(a,20);    //输出排序后的数组    sort(b,15);     //用冒泡法按降序排序b中的元素    output(b,15);    //输出排序后的数组    return 0;}void sort(int *p,int num){    int i,j,temp;    for(i=0; i<num-1; i++)        for(j=0; j<num-1-i; j++)            if(*(p+j)<*(p+j+1))            {                temp=*(p+j);                *(p+j)=*(p+j+1);                *(p+j+1)=temp;            }    return;}void output(int*p, int n){    int j;    for(j=0; j<n; j++)        cout<<*(p+j)<<" ";    cout<<endl;    return;}

运行结果:

总结: 只是用指针再次复习了一下冒泡排序,多多练习...

0 0
原创粉丝点击