#include <stdio.h> #include <string.h> #include <stdlib.h> void quicksort(int num[],int left,int right) //快速排序 { if(left>right) { return; } int i = left; int j = right; int tag = num[left]; while(i<j){ while(num[j]>=tag && j>i) { j--; } num[i] = num[j]; while (num[i]<=tag&&i<j) { i++; } num[j] = num[i]; } num[i] = tag; quicksort(num,left,i-1); quicksort(num,i+1,right); } int moverep(int num[],int len) //移除重复数字 { int i = 0; for(i=0;i<len-1;i++) { if(num[i]==num[i+1]) { for(int j=i+1;j<len-1;j++) { num[j] = num[j+1]; } len--; i--; } } return len; } int main() { int n1,n2; while(~scanf("%d",&n1)) { int i =0; int a1[n1]; for(i=0;i<n1;i++){ scanf("%d",&a1[i]); } scanf("%d",&n2); int n =n1+n2; int arr[n]; for(i=n1;i<n;i++){ scanf("%d",&arr[i]); } for(i=0;i<n1;i++){ arr[i] = a1[i]; } quicksort(arr,0,n-1); int len=moverep(arr, n); for(i=0;i<len;i++) { printf("%d",arr[i]); } } }