• 排序函数重载


    题目内容:

    编写一组重载的排序函数,可以对两个整数、三个整数、四个整数、整数数组从大到小排序,函数名为sort,其中数组排序应使用递归的方法,另补充print函数,在一行显示排序后的数组元素。

    主函数如下:

    int main()

    {

    int a,b,c,d;

    int data[100];

    int k,n,i;

      cin>>k;

      switch(k)

      {

        case 1:

            cin>>a>>b;

            sort(a,b);

            cout<<a<<" "<<b<<endl;

            break;

        case 2:

            cin>>a>>b>>c;

            sort(a,b,c);

            cout<<a<<" "<<b<<" "<<c<<endl;         

            break;     

        case 3:

            cin>>a>>b>>c>>d;

            sort(a,b,c,d);

            cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;

            break; 

        case 4:

            cin>>n;

            for(i=0;i<n;i++)

               {

                cin>>data[i];

            }

            sort(data,n);

            print(data,n);

            break;     

      }

      return 0;

    }

    输入格式:

    请根据主程序自己分析。

    输出格式:

    排序后的数据,一行,从大到小,末尾没有空格。

    输入样例:

    4

    10

    22 15 20 16 3 27 14 64 108 10

    输出样例:

    108 64 27 22 20 16 15 14 10 3

    请提交完整程序,包括给出的main()

    程序代码:*

    #include<iostream>
    #include <cstring>
    using namespace std;
    void sort(int &a,int &b)
    {
    if(a>b)
    {
    int tmp=a;
    a=b;
    b=tmp;
    }
    }
    void sort(int &a,int &b,int &c)
    {
    sort(a,b);
    sort(a,c);
    sort(b,c);
    }
    void sort(int &a,int &b,int &c,int &d)
    {
    sort(a,b,c);
    sort(a,d);
    sort(b,c,d);
    }
    void sort(int a[],int n)
    {
    for(int i=0;i<n-1;i++)
    for(int j=0;j<n-1-i;j++)
    sort(a[j],a[j+1]);
    }
    void print(int a[],int n)
    {
    for(int i=0;i<n;i++)
    {
    if(i==0)
    cout<<a[i];
    else
    cout<<" "<<a[i];
    }
    }
    int main()
    {
    int a,b,c,d;
    int data[100];
    int k,n,i;
    cin>>k;
    switch(k)
    {
    case 1:
    cin>>a>>b;
    sort(a,b);
    cout<<a<<" "<<b<<endl;
    break;
    case 2:
    cin>>a>>b>>c;
    sort(a,b,c);
    cout<<a<<" "<<b<<" "<<c<<endl;
    break;
    case 3:
    cin>>a>>b>>c>>d;
    sort(a,b,c,d);
    cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
    break;
    case 4:
    cin>>n;
    for(i=0;i<n;i++)
    {
    cin>>data[i];
    }
    sort(data,n);
    print(data,n);
    break;
    }
    return 0;
    }

  • 相关阅读:
    jmeter如何操作数据库
    jmeter压力测试
    cmd中用ping命令时,提示ping命令不是外部或内部命令问题
    scrapy post Request payload类型值
    scrapy-deltafetch实现增量爬取
    django虚拟环境搭建笔记
    python Image模块基本语法
    登录北京住房公积金,使用已注册过账号
    登录北京社保网站
    python通过pop3方式登录邮箱(qq,新浪,网易)
  • 原文地址:https://www.cnblogs.com/entrepre/p/5403044.html
Copyright © 2020-2023  润新知