C Program
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data;
struct node *next;
}node;
typedef struct mystack{
node *top;
}mystack;
void push(int data, mystack* ms)
{
node *temp=(node*)malloc(sizeof(node));
temp->data=data;
temp->next=ms->top;
ms->top=temp;
}
int pop(mystack* ms)
{
if(ms->top==NULL)
return -1;
node *t=ms->top;
int x=t->data;
ms->top=t->next;
free(t);
return x;
}
void merge(mystack* ms1, mystack* ms2)
{
node *p=ms1->top;
if(!p)
{
ms1->top=ms2->top;
return;
}
while(p->next)
p=p->next;
p->next=ms2->top;
}
void display(mystack* ms)
{
node *p=ms->top;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
int main()
{
int n,m,i,x;
mystack s1,s2;
s1.top=NULL;
s2.top=NULL;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d",&x);
push(x,&s1);
}
for(i=0;i<m;i++)
{
scanf("%d",&x);
push(x,&s2);
}
merge(&s1,&s2);
display(&s1);
return 0;
}
0 Comments