java排序算法怎么用

这篇文章主要介绍了java排序算法怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java排序算法怎么用文章都会有所收获,下面我们一起来看看吧。

成都创新互联公司2013年成立,先为崇明等服务建站,崇明等地企业,进行企业商务咨询服务。为崇明企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

题目:
题目描述:
田忌赛马的故事众所都知,田忌与国王赛马,赢一场赚200,输一场亏200,平局没有影响。问田忌最大能赚多少。
输入:
输入数据多达50个测试案例。每一个数据都是由一个正整数n(1000个)开始,这是马的数目。第二行每一个整数是田忌的马的速度。第三行的每一个整数是国王的马的速度。n为0则输入结束。
输出:
对于每一个输入的情况,输出一行包含一个单一的数字,这是田忌将获得的最大的钱数。

思路:
能用最差的马弄对面最差的马就用最差的马 否则用最差的马换对方最好的马。
代码

#include 
//用了排序方便处理
void sort(int *a, int left, int right)
{
    if (left >= right) 
    {
        return;
    }
    int i = left;
    int j = right;
    int key = a[left];

    while (i < j)                              
    {
        while (i < j && key <= a[j])

        {
            j--;
        }

        a[i] = a[j];

        while (i < j && key >= a[i])

        {
            i++;
        }

        a[j] = a[i];
    }

    a[i] = key; 
    sort(a, left, i - 1); 
    sort(a, i + 1, right); 
}
int main()
{
    int SL = 0;
    int XHBL = 0;
    int DYFS = 0;
    int *DYZZ = 0;
    int *DEZZ = 0;
    int *DEJWZZ = 0;
    int DIYIZU[10] = { 0 };
    int DIERZU[10] = { 10 };
    scanf("%d",&SL);
    for (XHBL = 0; XHBL < SL; XHBL++)
        scanf("%d", &DIYIZU[XHBL]);

    for (XHBL = 0; XHBL < SL; XHBL++)
        scanf("%d", &DIERZU[XHBL]);

    sort(DIYIZU,0, SL-1);
    sort(DIERZU,0, SL-1);

    DYZZ = &DIYIZU[0];
    DEZZ = &DIERZU[0];
    DEJWZZ = &DIERZU[SL - 1];
    for (XHBL=0;XHBL= *DEZZ) //这里是如果两马速度相等就打平还是齐王赢? 这里算作平等
        {
            if(*DYZZ!= *DEZZ)
                DYFS += 200;
            DYZZ++;
            DEZZ++;
        }
        else
        {
            DEJWZZ--;
            DYZZ++;
            DYFS -= 200;
        }
    }
    printf("Tianji InTotal:%d", DYFS);
    return 0;
}

关于“java排序算法怎么用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“java排序算法怎么用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


网页标题:java排序算法怎么用
分享链接:http://ybzwz.com/article/iigehs.html