1 条题解

  • 0
    @ 2025-4-12 21:33:54

    C :

    #include <stdio.h>
    #define MAX 100
    #define M 5
    #define N 4
    typedef int elemtype;
    typedef struct seqlist
    {
    	elemtype A[MAX],B[MAX];
    	int last1,last2;
    }Seqlist;
    
    int main()
    {
    	struct seqlist l;
    	int i,j,k;
    	l.last1=M;
    	l.last2=N;
    	for(i=0;i<l.last1;i++)
    		scanf("%d",&l.A[i]);
    	for(i=0;i<l.last2;i++)
    		scanf("%d",&l.B[i]);
    	i=0;
    	j=0;
    	while(i<l.last1&&j<l.last2)
    	{
    		if(l.A[i]<l.B[j])
    		{
    			printf("%d",l.A[i]);
    			i++;
    		}
    		else
    		{
    			printf("%d",l.B[j]);
    			j++;
    		}
    		if(i<l.last1&&j<l.last2)
    			printf(" ");
    	}
    	if(i==l.last1)
    		for(k=j;k<l.last2;k++)
    			printf(" %d",l.B[k]);
    	else
    		for(k=i;k<l.last1;k++)
    			printf(" %d",l.A[k]);
    	printf("\n");
    }
    

    C++ :

    #include <stdio.h>
    #include <stdlib.h>
    typedef int ElemType;
    typedef struct Node 
    {
    	ElemType data;
    	struct Node * next;
    	
    }Node,*LinkList;
    void CreateFromTaila(LinkList L)
    {
    	int i;
    	Node * s,* r;
    	r=L;
    	for(i=0;i<5;i++)
    	{
    	s=(Node *)malloc(sizeof(Node));
    	scanf("%d",&s->data);
    	s->next=r->next;
    	r->next=s;
    	r=s;
    	}
    }   
    void CreateFromTailb(LinkList L)
    {
    	int i;
    	Node * s,* r;
    	r=L;
    	for(i=0;i<4;i++)
    	{
    	s=(Node *)malloc(sizeof(Node));
    	scanf("%d",&s->data);
    	s->next=r->next;
    	r->next=s;
    	r=s;
    	}
    }   
    LinkList MergeLinkList(LinkList La,LinkList Lb)
    {
    	Node *pa,*pb,*r;
    	LinkList Lc;
    	pa=La->next;
    	pb=Lb->next;
    	Lc=La;
    	Lc->next=NULL;
    	r=Lc;
    	while(pa!=NULL&&pb!=NULL)
    	{
    		if(pa->data<=pb->data)
    		{
    		r->next=pa;
    		r=pa;
    		pa=pa->next;
    		}
    		else
    		{
    			r->next=pb;
    			r=pb;
    			pb=pb->next;
    		}
    		if(pa!=NULL)
    		r->next=pa;
    		else
    		r->next=pb;
    	}
    	free(Lb);
    }
    void display(LinkList L)
    {
    	Node *c;
    	c=L->next;	
    	while(c!=NULL)
    	{
    	printf("%d",c->data);
    		printf(" ");
    		c=c->next;
    	}	
    	printf("\n");
    }
    int main()
    {
    	LinkList La,Lb;
    	La=(Node *)malloc(sizeof(Node));
    	La->next=NULL;
    	Lb=(Node *)malloc(sizeof(Node));
    	Lb->next=NULL;
    	CreateFromTaila(La);
    	CreateFromTailb(Lb);
    	MergeLinkList( La, Lb);
    	display(La);
    }
    
    
    
    
    • 1

    信息

    ID
    755
    时间
    10000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者