采用线性表的链式存储结构,实现线性链表的合并操作:①设有线性链表 La 和 Lb,试设计算法将La 和 Lb 归并为新的线性链表 Lc;②设线性链表 La 和 Lb 中的数据元素为整数,且均已按值非递减有序排列,要求 Lc 中的数据元素也按值非递减有序排列。

#include<malloc.h>
#include<stdio.h>
#define ERROR 0
#define NULL 0
#define OK 1
typedef int ElemType;
typedef struct LNode {ElemType data;struct LNode* next;
}LNode, * LinkList;
void CreateList_L(LinkList& L, int n)
{int i;LinkList p, q;L = (LinkList)malloc(sizeof(LNode));q = L;                                       for (i = 1; i <= n; i++){p = (LinkList)malloc(sizeof(LNode));scanf_s("%d", &p->data);q->next = p;q = p;}q->next = NULL;
}
int OutputList_L(LinkList L)
{LinkList p = L->next;if (p == NULL)return ERROR;while (p != NULL){printf("%d ", p->data);p = p->next;}printf("\n");return OK;
}
void MergeList_L(LinkList& La, LinkList& Lb, LinkList& Lc)
{LinkList pa, pb, pc;pa = La->next;pb = Lb->next;Lc = pc = La;while (pa && pb){if (pa->data <= pb->data){pc->next = pa;pc = pa;pa = pa->next;}else{pc->next = pb;pc = pb;pb = pb->next;}}pc->next = pa ? pa : pb;free(Lb);
}
int main()
{int a, b;LinkList La, Lb, Lc = 0;printf("输入La元素个数a:\n");scanf_s("%d", &a);printf("请输入链表La中的元素:\n");CreateList_L(La, a);printf("输入Lb元素个数b:\n");scanf_s("%d", &b);printf("请输入链表Lb中的元素:\n");CreateList_L(Lb, b);printf("输出链表La所有元素:\n");OutputList_L(La);printf("输出链表Lb所有元素:\n");OutputList_L(Lb);MergeList_L(La, Lb, Lc);printf("输出链表Lc所有元素:\n");OutputList_L(Lc);return 0;
}

数据结构-线性链表的实现和应用相关推荐

  1. python单链表实现具体例子_Python实现数据结构线性链表(单链表)算法示例

    本文实例讲述了Python实现数据结构线性链表(单链表)算法.分享给大家供大家参考,具体如下: 初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码. #!/usr/bin ...

  2. 数据结构 线性链表栈

    #ifndef _MY_LINKSTACK_H_ #define _MY_LINKSTACK_H_typedef void LinkStack;//创建链表栈 LinkStack* LinkStack ...

  3. C++ 数据结构 线性链表

    #pragma once 减少头文件组合,降低编译出错的概率 作用等效于 #ifndef FUNC_H #define FUNC_H代码主体#endif 线性表的定义 排队问题 简单的线性表 (物理 ...

  4. c语言数据结构linklist用法,C语言数据结构-线性链表LinkList

    1. 头结点表示链表中第一个结点的存储位置 2. 最后一个结点的存储位置为空(NULL); #ifndef __LINKLLIST_H__ #define __LINKLLIST_H__ #defin ...

  5. 数据结构单向链表线性结构_线性数据结构链表为何以及如何解释

    数据结构单向链表线性结构 Imagine you have gone to a crowded place, say to a k-pop concert with your friends and ...

  6. 数据结构(一)——线性链表的原理以及应用

      从今天开始,就开始总结数据结构的一些基本知识,首先是线性链表,也就是与数组类似的链表,我将会从其基本原理开始讲解,最终通过C语言代码实现线性链表的"增删改查"功能. 文章目录 ...

  7. 【吉大刘大有数据结构绿皮书】已知非空线性链表第一个结点由list指出,写一算法,交换p所指结点与其下一个结点在链表中的位置(设p指向的不是链表最后的那个结点)。

    题目 已知非空线性链表第一个结点由list指出,写一算法,交换p所指结点与其下一个结点在链表中的位置(设p指向的不是链表最后的那个结点). 思路及解答 本题要求的是在无头链表中交换p结点和p-> ...

  8. linux内核数据结构之链表

    1.前言 最近写代码需用到链表结构,正好公共库有关于链表的.第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域.后来看代码注释发现该代码来自linux内核,在li ...

  9. python链表的创建_python数据结构之链表的实例讲解

    在程序中,经常需要将组(通常是同为某个类型的)数据元素作为整体 管理和使,需要创建这种元素组,变量记录它们,传进传出函数等. 组数据中包含的元素个数可能发变化(可以增加或删除元素). 对于这种需求,最 ...

  10. Java实现自定义队列和树结构_Java数据结构之链表、栈、队列、树的实现方法示例...

    本文实例讲述了java数据结构之链表.栈.队列.树的实现方法.分享给大家供大家参考,具体如下: 最近无意中翻到一本书,闲来无事写几行代码,实现几种常用的数据结构,以备后查. 一.线性表(链表) 1.节 ...

最新文章

  1. oracle 删除用户、表空间
  2. Python闭包及其作用域
  3. linux网络编程之网络应用设计模式、分层模型、通信过程
  4. mybatis学习(37):动态sql-trim
  5. 已经发车的票还能取出来吗_网上预订汽车票不知道怎么退票?
  6. cocos2dx打飞机项目笔记一:项目结构介绍
  7. 管理感悟:电费每月几万,主管的责任重于权力
  8. 【转】ASP.net2。0中解决无法获取 GridView 隐藏列值问题
  9. 暴风陨落,再无影音​
  10. VB6.0精简版调用matlab进行数值计算:
  11. 天勤数据结构——绪论
  12. 各省简称 拼音 缩写_中国各省市的简称读音
  13. div垂直居中的N种方法以及多行文本垂直居中的方法
  14. 免费建立个人网站怎么做?教你简单的方法
  15. mongodb java api chm_MongoDB中文手册chm版
  16. 微信小程序实现多语言方案|中英互译
  17. 新中大连接服务器文件,新中大软件服务器地址修改
  18. 让宝妈当“团长”卖菜给街坊,社区团购会诞生下一个拼多多吗?
  19. rufus中gpt和mrb磁盘_系统重装,硬盘分区MBR和GPT选哪个好?看完才知原来有这讲究!...
  20. JQuary学习之路---初始JQuary

热门文章

  1. 使用苹果账号登录你的应用
  2. DTcms-【无限级别分类设计】
  3. 银联在线php支付接口,PHP网站在线银联支付实现大额付款案例
  4. 计算机地图制图的论文,计算机地图制图实习报告.doc
  5. 软件质量因素 6个_影响软件质量管理的主要因素
  6. 哔哩哔哩H.265编码器在直播和点播的实践和应用
  7. 前端面试题汇总(vue+html基础)最新最全
  8. Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding
  9. [Python]利用ricequant获取上证指数以及所有股票历史价格数据
  10. Ricequant 平台入门--第一个量化交易策略