zoukankan      html  css  js  c++  java
  • (TOJ1215)数据结构练习题——合并表

    描述

    已知va和vb分别为非递减有序线性表,将va和vb进行合并为新的线性表vc,并保持vc仍然非递减有序。

    本题中,线性表元素为整数。线性表的最大长度为1000。

    输入

    输入数据有多组,第一行为测试数据的组数n,接下来为2n行,每一组测试数据有两行:

    第一行的第一个数为va的元素个数,后面是n个整数,代表va的所有元素

    第二行的第一个数为vb的元素个数,后面是n个整数,代表vb的所有元素

    输出

    输出合并后的长度以及vc的所有元素

    样例输入

    2
    2 1 2
    2 2 3
    3 1 2 3
    3 4 5 6

    样例输出

    4 1 2 2 3
    6 1 2 3 4 5 6

    提示

    你也可以使用链表来实现,有空也练练吧
     
     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<string.h>
     4 #include<ctype.h>
     5 
     6 int a[1000],b[1000],c[2000];
     7 
     8 void deal(int a[], int m, int b[], int n)
     9 {
    10    int i,j,k,s;
    11    i=k=j=s=0;
    12    while(i<m && j<n)
    13    {
    14         if(a[i]<b[j])
    15         {
    16             c[k]=a[i];
    17             i++;k++;
    18         }
    19         else if(a[i]==b[j])
    20         {
    21           c[k]=a[i];
    22          c[k+1]=a[i];
    23          k+=2;  
    24          i++;j++;    
    25      }
    26      else
    27      {
    28          c[k]=b[j];
    29          j++;k++;
    30      }
    31    }
    32    if(i==m)
    33    {
    34          while(j<n) c[k++]=b[j++];
    35    }
    36    if(j==n)
    37    {
    38          while(i<m) c[k++]=a[i++];
    39    }
    40    printf("%d",k);
    41    for(i=0; i<k; i++)
    42      printf(" %d",c[i]);
    43    printf("\n");
    44 }
    45 
    46 void solve()
    47 {
    48   int N,i,m,n;
    49   scanf("%d",&N);
    50   while(N--)
    51   {
    52       scanf("%d",&m);
    53       for(i=0; i<m; i++)
    54          scanf("%d",&a[i]);
    55     scanf("%d",&n);
    56     for(i=0; i<n; i++)
    57       scanf("%d",&b[i]);
    58     deal(a,m,b,n);
    59   }
    60 }
    61 
    62 
    63 int main()
    64 {
    65     solve();
    66      getchar();
    67      getchar();
    68     return 0;
    69 }
  • 相关阅读:
    一百多套开发视频教程的下载地址
    魅族MX3问题集锦
    Entity Framework 5问题集锦
    【PHP Manager for IIS】让IIS支持PHP
    MySQL安装
    phpMyAdmin安装
    犯了一个愚蠢的序列化错误
    最佳策略
    .net非托管资源
    .net内存何时回收?
  • 原文地址:https://www.cnblogs.com/xueda120/p/3070324.html
Copyright © 2011-2022 走看看