数据结构 链表 合并两个有序的单链表 C语言版
来源:互联网 发布:女生滴风油精知乎 编辑:程序博客网 时间:2024/06/03 20:52
#include <cstdio>#include <stdlib.h>typedef struct Node{ int data; struct Node * next;} Node,* Linklist; //定义链表的结点,链表头void Initlist (Linklist *L) //初始化链表{ *L=(Linklist)malloc(sizeof(Node)); (*L)->next=NULL;}void CreateFromTail(Linklist L) //尾插发建表{ Node *r,*s; r=L; //r总是指向链表的最后结点,s是新的结点 int flag=1; int num; while(flag) { scanf("%d",&num); if(num!= -1) { s=(Node *) malloc(sizeof(Node)); s->data=num; r->next=s; r=s; } else{ flag=0; r->next=NULL; } } return ;}void Output(Linklist L) //输出单链表{ Node *temp; temp=L->next; while(temp !=NULL) { printf("%d ",temp->data); temp=temp->next; } printf("\n");}Linklist Unionlist(Linklist LA,Linklist LB){ Linklist LC; Initlist(&LC); Node *pa,*pb,*r; pa=LA->next; pb=LB->next; 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) r->next=pa; else r->next=pb; free(LB); free(LA); return(LC);}int main(){ Linklist LA,LB,LC; Initlist(& LA); Initlist(& LB); printf("输入递增单链表LA 以-1为结束标志\n"); CreateFromTail(LA); Output(LA); printf("输入递增单链表LB 以-1为结束标志\n"); CreateFromTail(LB); Output(LB); if(LA->next==NULL) printf("srwefewfawefw\n"); LC=Unionlist(LA,LB); printf("合并为一个有序的单链表为\n"); Output(LC);}
阅读全文
0 0
- 数据结构 链表 合并两个有序的单链表 C语言版
- 合并两个有序线性表的元素(C语言版)
- 合并两个有序线性表的元素(C语言版)
- 【C语言】两个有序单链表的合并
- 【C语言版数据结构】线性表的链式表示,并且实现合并两个非递减有序排列到新的线性表
- 数据结构杂记——两个递增有序的单链表合并
- 数据结构之两个有序表的合并
- 两个有序单链表的合并&两个有序数组的合并
- 两个有序单链表的合并
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 合并两个有序的单链表
- 数据结构 链表 单链表的建立 C语言版
- leetcode 2. Add Two Numbers
- SQL优化
- [NOIP模拟赛]偶数度问题
- Mybatis与Hibernate的简单对比
- 类ThreadLocal的使用
- 数据结构 链表 合并两个有序的单链表 C语言版
- error:could not open ...jvm.cfg解决方法
- caioj1033:递归3(组合+判断素数)
- 问题:占座位
- 多线程
- QT打包支持dll, windeployqt
- deformable convolution
- How to install pip3 for python 3.x
- 树的公共祖先问题