1 条题解
-
0
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
- 上传者