![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
线性表
线性表
hnjzsyjyj
这个作者很懒,什么都没留下…
展开
-
AcWing 3639:链表合并 ← 贵州大学考研机试题
● 头插法及尾插法头插法创建单链表:https://blog.csdn.net/hnjzsyjyj/article/details/120285274尾插法创建单链表:https://blog.csdn.net/hnjzsyjyj/article/details/120285300原创 2024-06-09 00:25:03 · 268 阅读 · 0 评论 -
AcWing 33:链表中倒数第k个节点 ← 尾插法
● 假设链表有 n 个结点,那么只要从头结点开始往后走 n-k 步就可以到达倒数第 k 个结点(从 1 开始计数)。● 头插法及尾插法头插法创建单链表:https://blog.csdn.net/hnjzsyjyj/article/details/120285274尾插法创建单链表:https://blog.csdn.net/hnjzsyjyj/article/details/120285300本题算法,选用尾插法建立单链表。原创 2024-06-06 12:39:31 · 418 阅读 · 1 评论 -
AcWing 3709:单链表节点交换 ← 四川大学考研机试题
本题是四川大学考研机试题。在编码时,不要一看到单链表,就去用链式结构实现,这样就势必增加了编码复杂度。可以考虑用数组模拟实现,可大大简化编码难度。原创 2023-12-11 08:28:13 · 404 阅读 · 0 评论 -
AcWing 17:从尾到头打印链表 ← 数组模拟单链表的头插法
数组模拟单链表的头插法。数组模拟单链表:https://blog.csdn.net/hnjzsyjyj/article/details/132185463原创 2023-08-10 00:14:04 · 122 阅读 · 0 评论 -
AcWing 840:模拟散列表(拉链法)
散列表,即哈希表,是根据给定关键字(Key)来计算出该关键字在表中存储地址的数据结构。也就是说,散列表建立了关键字与存储地址之间的一种直接映射关系。将关键字映射到表中记录的地址,这加快了查找速度。原创 2023-08-09 13:56:31 · 123 阅读 · 2 评论 -
数组模拟单链表 ← C++
学习过链式前向星(https://blog.csdn.net/hnjzsyjyj/article/details/126474608)的会发现这些模拟单链表的变量及数组很熟悉。这是因为,链式前向星也是用数组模拟单链表,不过是要模拟多个单链表。原创 2023-08-09 13:09:00 · 172 阅读 · 0 评论 -
利用单链表实现逆序输出
【原理:利用头插法建立单链表后,若从头指针访问,其输出的结点次序与建单链表时输入的结点次序恰好相反。故利用单链表的这个特性,可完美实现逆序输出。原创 2020-09-14 20:03:16 · 3296 阅读 · 1 评论 -
构建与指针同名的数组 ← 动态分配空间
动态分配空间后与指针同名数组的构建方法,如下两行核心代码所示:int *p;p=new int[maxn];在执行完上面两行代码后,便得到了与指针同名的数组。原创 2022-09-13 00:01:54 · 365 阅读 · 0 评论 -
NOIP 2018 普及组初赛之程序完善题T2
对于一个1到n的排列P(即1到n中每一个数在P中出现了恰好一次),令qi为第i个位置之后第一个比Pi值更大的位置,如果不存在这样的位置,则qi=n+1。举例来说,如果n=5且P为1 5 4 2 3,则q为2 6 6 5 6。下列程序读入了排列P,使用双向链表求解了答案。试补全程序。数据范围 1 ≤ n ≤ 100000。...原创 2021-08-09 18:29:02 · 736 阅读 · 0 评论 -
单链表实例
【算法说明】此算法代码来源于严蔚敏编著的《数据结构(C语言版|第2版)》的随书代码。这个代码做了一点点微调。它对于学习单链表的实现足矣。【算法代码】#include <bits/stdc++.h>using namespace std;struct Book { string id;//ISBN string name;//书名 double price;//定价};typedef struct LNode { Book data; //结点的数据域 struct原创 2021-09-07 21:12:45 · 973 阅读 · 3 评论 -
用循环链表求解约瑟夫环问题
【约瑟夫环问题】模型构建:因为是圆桌问题,使用链表解决的话需要构建循环链表。出列问题:设计思路是将指向链表的指针移动到需要出列的人的位置,然后根据正常的链表删除进行操作即可。原创 2019-09-28 10:05:16 · 2401 阅读 · 0 评论 -
利用头插法构建单链表实现输入的逆序输出
【算法分析】利用头插法构建单链表后,若从头结点开始遍历单链表,则输出的值的顺序与输入时恰好相反。因此,这个性质常被加以利用,实现序列的逆序输出。【算法代码】#include <bits/stdc++.h>using namespace std;struct Node { char data; Node *next;};void nixu(Node *L,int n) { L=new Node; L->next=NULL; for(int i=0; i&原创 2021-03-25 16:18:46 · 1609 阅读 · 0 评论 -
尾插法建立单链表
【算法设计思路】通过画利用尾插法构建单链表的示意图帮助分析,然后转化为代码的方法,很可行。当然,前提是需要知道某个阶段示意图对应的是什么代码。【算法代码】#include <bits/stdc++.h>using namespace std;struct Node { char data; Node *next;};void wcf(Node *L,int n) { L=new Node; L->next=NULL; Node *r; r=L; fo...原创 2021-03-25 18:31:02 · 1020 阅读 · 0 评论 -
数组模拟实现的单链表 → 邻接表
【知识点】在算法竞赛中,对算法的时间复杂度要求都比较高。而利用结构体struct实现的单链表比用数组模拟实现的单链表运行速度慢,因此算法竞赛选手多用数组模拟实现单链表。现对单链表的数组模拟实现简述如下:一、变量含义head:头指针。初始化时指向空结点(值为-1),插入元素后指向头结点后的第一个元素。idx:存储结点编号e[idx]:存储结点idx的值ne[idx]:存储结点idx的next指针二、主要操作1.单链表的初始化void init() { //单链表初始化 h..原创 2021-08-24 17:49:45 · 1065 阅读 · 2 评论 -
头插法创建单链表
【算法代码】#include<iostream>using namespace std;typedef struct LNode { char data; struct LNode *next;} LNode,*LinkList;void Head_Insert(LinkList &L,int n) { //头插法 L=new LNode; //生成头结点,用头指针L指向它 L->next=NULL; for(int i=0; i<n; i++)原创 2021-09-14 13:19:57 · 586 阅读 · 0 评论 -
尾插法创建单链表
【算法代码】#include<iostream>using namespace std;typedef struct LNode { char data; struct LNode *next;} LNode,*LinkList;void Tail_Insert(LinkList &L,int n) { //尾插法 L=new LNode; //生成头结点,用头指针L指向它 L->next=NULL; LinkList r=L; for(int i=原创 2021-09-14 13:22:36 · 6261 阅读 · 2 评论 -
根据依序输入的一元多项式的系数输出此多项式
默认情况下,Dev-C++ 不支持 C++ 11 标准。若需 Dev-C++ 支持 C++ 11 标准,需要在 Dev-C++ 中的“Compiler Options”选项中设置“Add the following commands when calling the compiler:” 的内容为 “-std=c++11”。原创 2022-03-05 12:26:09 · 1226 阅读 · 0 评论