algorithm

[c++] 두배열합치기

tonirr 2020. 12. 23. 00:16
  • 두배열합치기
#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main() {
	//freopen("input.txt", "rt", stdin);
	int n, m, i, j, k, l, tmp;
	int a[101], b[101], c[201];
	scanf("%d", &n);
	
	for(i=1; i<=n; i++){
		scanf("%d", &a[i]);
	}
	
	scanf("%d", &m);
	
	for(i=1; i<=m; i++){
		scanf("%d", &b[i]);
	}
	
	i=1;
	j=1;
	k=1;
	while(i!=n+1 && j!=m+1){
		if(a[i]<b[j]){
			c[k]=a[i];
			i++;
		}
		else {
			c[k]=b[j];
			j++;
		}
		k++;
	}
	
	if(i==n+1){
		for(l=j; l<=m; l++){
			c[k]=b[l];
			k++;
		}
	}
	if(j==m+1){
		for(l=i; l<=n; l++){
			c[k]=a[l];
			k++;
		}
	}

	for(i=1; i<=n+m; i++){
		printf("%d ", c[i]);
	}
	return 0;
}