zoukankan      html  css  js  c++  java
  • 九度OJ 1167:数组排序 (排序)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:5395

    解决:1715

    题目描述:

    输入一个数组的值,求出各个值从小到大排序后的次序。

    输入:

    输入有多组数据。
    每组输入的第一个数为数组的长度n(1<=n<=10000),后面的数为数组中的值,以空格分割。

    输出:

    各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。

    样例输入:
    4
    -3 75 12 -3
    样例输出:
    1 3 2 1
    来源:
    2009年北京航空航天大学计算机研究生机试真题

    思路:

    注意输出的是次序,尤其注意重复数据的次序。


    代码:

    #include <stdio.h>
     
    #define N 10000
     
    int main(void)
    {
        int n, tmp, i, j, count;
        int a[N], b[N];
     
        while (scanf("%d", &n) != EOF)
        {
            for(i=0; i<n; i++)
            {
                scanf("%d", &a[i]);
                b[i] = a[i];
            }
     
            for(i=0; i<n-1; i++)
            {
                for(j=0; j<n-1-i; j++)
                {
                    if (b[j] > b[j+1])
                    {
                        tmp = b[j];
                        b[j] = b[j+1];
                        b[j+1] = tmp;
                    }
                }
            }
            //for(i=0; i<n-1; i++)
            //  printf("%d ", b[i]);
            //printf("%d
    ", b[i]);
     
            for(i=0; i<n; i++)
            {
                count = 0;
                for(j=0; j<n; j++)
                {
                    if (a[i] == b[j])
                    {
                        count ++;
                        if (i != 0)
                            printf(" ");
                        printf("%d", count);
                        break;
                    }
                    else if (j == 0)
                        count ++;
                    else if (b[j] != b[j-1])
                        count ++;
                }
            }
            printf("
    ");
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1167
        User: liangrx06
        Language: C
        Result: Accepted
        Time:350 ms
        Memory:920 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    Single Number II
    Pascal's Triangle
    Remove Duplicates from Sorted Array
    Populating Next Right Pointers in Each Node
    Minimum Depth of Binary Tree
    Unique Paths
    Sort Colors
    Swap Nodes in Pairs
    Merge Two Sorted Lists
    Climbing Stairs
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083860.html
Copyright © 2011-2022 走看看