當前位置:編程學習大全網 - 編程軟體 - 用C語言編程:建立兩個單鏈表(裏面的元素要隨機生成並按遞增排序),合並這兩個單鏈表成另壹個鏈表

用C語言編程:建立兩個單鏈表(裏面的元素要隨機生成並按遞增排序),合並這兩個單鏈表成另壹個鏈表

我的這個程序完全滿足妳的要求,把分給我吧.

#include<stdio.h>

#include<stdlib.h>

typedef struct LNode{

int data;

struct LNode *next;

}LNode,*LinkList;

//********************************************

void output(LinkList L)

{

LinkList p;

p=L;

p=p->next;

while (p)

{

printf("%-4d",p->data);

p=p->next;

}

printf("\n");

}

//********************************************

void createlist(LinkList &h)

{

int i,n;

LinkList q,l,p;

l=(LNode*) malloc (sizeof(LNode));

q=l;

h=l;

l->next=NULL;

printf("Input the number of LNode:\n");

scanf("%d",&n);

for(i=n;i>0;i--)

{

p=(LNode*) malloc (sizeof(LNode));

scanf("%d",&(p->data));

q->next=p;

q=p;

q->next=NULL;

}

}

void Union (LinkList &a,LinkList &b)

{

LinkList pa,pb,pc;

pa=a->next;

pb=b->next;

pc=a;

while (pa&&pb)

{

if(pa->data<pb->data)

{

pc->next=pa;pc=pa;pa=pa->next;

}

else{

if(pa->data>pb->data)

{

pc->next=pb;pc=pb;pb=pb->next;

}

else pb=pb->next;

}

}

pc->next=pa?pa:pb;

free(b);

}

void main ()

{

LinkList L1,L2;

createlist(L1);

createlist(L2);

Union(L1,L2);

output(L1);

}

  • 上一篇:iOS定義屬性時,什麽情況使用copy,assign和retain
  • 下一篇:UG8.0深度輪廓如何設置
  • copyright 2024編程學習大全網