3270: 我的两群吃粽小伙伴

3270: 我的两群吃粽小伙伴

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 674  Solved: 23
[Submit][Status][Web Board]

Description

这时有两群小伙伴中的每个人都拎着刚买的热乎乎的粽子在食堂碰面了,他们打算把每个人手中所有的粽子摆在桌子上,可以看清楚大家都买了多少不同口味的粽子。强迫症患者看着乱糟糟的一堆粽子,主动提出要帮助大家按照每个人买的粽子的数量从小到大升序摆放,这样摆好的粽子数量序列是什么样的呢?

 

 

Input

 

第一行输入两群人的人数分别是m和n。

第二行包含m个数据,分别表示第一群m个小伙伴每个人手中的粽子数量。

第三行包含n个数据,分别表示第二群n个小伙伴每个人手中的粽子数量。

输入数据均为整数,且不大于10000。

 

 

Output

输出一行用单个空格分隔开的数,表示升序摆放好的粽子数量序列。

 

 

 

Sample Input

3 2
2 6 5
3 1

Sample Output

1 2 3 5 6

#include<stdio.h>
int a[10000],b[10000],c[10000];//数组开大一点//
void quicksort(int c[], int left, int right)
{
    int i,j,temp,t;
    if(left>right)
        return ;
    i=left;
    j=right;
    temp=c[left];
    while(i!=j)
    {
        while(c[j]>=temp&&i<j)
            j--;
        while(c[i]<=temp&&i<j)
            i++;
        if(i<j)
        {
            t=c[i];
            c[i]=c[j];
            c[j]=t;
        }
    }
    c[left]=c[i];
    c[i]=temp;
    quicksort(c,left,i-1);
    quicksort(c,i+1,right);
    return ;
}
int main()
{
    int m,n,i,j,d;
    scanf("%d%d",&m,&n);
    for(i=0;i<m;i++)
    {
        scanf("%d",&a[i]);
        c[i]=a[i];
    }
    d=m;
    for(j=0;j<n;j++)
    {
        scanf("%d",&b[j]);
        c[d]=b[j];
        d++;
    }
    //for(i=0;i<m+n;i++)
        //printf("%d ",c[i]);
    //printf("\n");
    quicksort(c,0,m+n-1);
    for(i=0;i<m+n;i++)
        printf("%d ",c[i]);
    return 0;
}

  

posted @ 2018-06-09 21:29  青衫客36  阅读(133)  评论(0编辑  收藏  举报