当前位置: 首页 > news >正文

1链式有序表的合并

关于数据结构的一个整理:

1、链式有序表的合并

2、栈

3、队列

4、二叉树、哈夫曼报文

5、图论

6、十大排序

7、校园导航系统

文章目录

  • 链式有序表的合并

链式有序表的合并

#include <iostream>
using namespace std;typedef struct LNode {  int data;   LNode* next;
}LNode, * LinkList;void CreateList(LinkList& L, int n) {   //尾插法创建链表L = new LNode;L->next = NULL;LinkList p;LinkList r = L;for (int i = 0; i < n; ++i) {p = new LNode;cin >> p->data;p->next = NULL;r->next = p;r = p;}cout << "创建成功" << endl;
}void MergeList(LinkList& A, LinkList& B, LinkList& C) {//已知单链表A、B的元素按值非递减排列LinkList pa, pb, pc;C = new LNode;C->next = NULL;pa = A->next; pb = B->next;  //pa pb分别指向两个表的第一个结点C = A;   //A的头节点作为C的头节点 pc = C;  //pc指向C的头节点 while (pa && pb) {   //当A B均未到末尾,取两表中较小的结点插入到C中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;  //将非空的剩余段插入C中delete B;
}void ShowList(LinkList& L) {   //输出链表LinkList p = L->next;while (p) {cout << p->data << " ";p = p->next;}cout << endl;
}void SortList(LinkList& L)
{LinkList p = L->next;LinkList pre, rear, cur;for (pre = p,cur=pre->next; cur != NULL; cur = cur->next) {cout << pre->data << endl;cout << cur->data << endl;system("pause");for (rear = p->next; rear != NULL; rear = rear->next) {if (pre->data < rear->data) {pre->next = rear;cur->next = rear->next;rear->next = cur;}}}}int main() {int m, n;LinkList A, B, C;cout << "创建表A,请输入插入元素个数:";cin >> m;cout << "请输入插入的元素:" << endl;CreateList(A, m);cout << "创建表B,请输入插入元素个数:";cin >> n;cout << "请输入插入的元素:" << endl;CreateList(B, n);MergeList(A, B, C);cout << "合并结果:" << endl;SortList(C);ShowList(C);return 0;
}

http://www.mrgr.cn/news/76425.html

相关文章:

  • RabbitMQ 与 PHP Swoole 实现
  • 【日志】力扣11.盛水最多的容器
  • AI 技术在旅游和酒店行业的应用前景
  • 基本定时器---内/外部时钟中断
  • 科技云报到:数字化转型,从不确定性到确定性的关键路径
  • 远程连接服务器
  • 【提高篇】3.4 GPIO(四,工作模式详解 下)
  • [Linux]:Reactor模式
  • 牛客题库 21738 牛牛与数组
  • C语言数据结构与算法--简单实现队列的入队和出队
  • AVL树了解并简单实现
  • Linux网络编程
  • InternVL 多模态模型部署微调实践 | 书生大模型
  • 系统架构师考试18天极限备考复盘(2024年11月)
  • STM32芯片EXIT外部中断的配置与原理以及模板代码(标准库)
  • 邻接多重表、十字链表、边集数组
  • Spring 中的 BeanDefinitionParserDelegate 和 NamespaceHandler
  • 神经网络与Transformer详解
  • 项目配置文件选择(Json,xml,Yaml, INI)
  • 【数据结构与算法】查找
  • Java集合(Collection+Map)
  • LoFTR: Detector-Free Local Feature Matching with Transformers—特征点匹配算法系列
  • STM32 标准库函数 GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 区别
  • 【笔记】关于git和GitHub和git bash
  • 嵌入式交叉编译:harfbuzz
  • 计算机网络——路由选择算法