数据结构--单链表(数组)
文章目录
- 单链表
单链表
用数组实现的单链表可以在任意位置插入、删除、替换一个数,相比于用结构体和指针实现的动态链表而言,数组模拟链表运行的速度非常快,动态链表基本会出现超时的现象。但缺点是浪费内存
/*
H x,表示向链表头插入一个数 x。
D k,表示删除第 k 个插入的数后面的数(当 k 为 0 时,表示删除头结点)。
I k x,表示在第 k 个插入的数后面插入一个数 x(此操作中 k 均大于 0)
*/
#include<iostream>
#include<cstdlib>
using namespace std;const int N = 100010;int head, e[N], ne[N],idx;
//void init() {// head = -1;//头节点下标
// idx = 0;
//
//}
void add_to_head(int x) {e[idx] = x;//表示idx点的值是多少ne[idx] = head;//表示idx的next指针多少head = idx;idx++;//储存当前用到了哪个点}
void add(int k, int x) {e[idx] = x;ne[idx] = ne[k];ne[k] = idx;idx++;
}
void remove(int k) {ne[k] = ne[ne[k]];
}int main() {head = -1;//头节点下标idx = 0;int m;cin >> m;while (m--) {int k, x;char op;cin >> op;if (op == 'H') {cin >> x;add_to_head(x);}else if(op=='D'){cin >> k; if (!k)head = ne[head];remove(k-1);
}else {cin >> k >> x;add(k-1, x);}}for (int i = head; i != -1; i = ne[i])cout << e[i] << " ";cout << endl;return 0;}
数据结构--单链表(数组)相关推荐
- php链表和联表的区别,PHP_浅谈PHP链表数据结构(单链表),链表:是一个有序的列表,但 - phpStudy...
浅谈PHP链表数据结构(单链表) 链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个 ...
- 20175330 数据结构-单链表(选做)
要求 参见附件,补充MyList.java的内容,提交运行结果截图(全屏) 课下推送代码到码云 ``` public class MyList { public static void mai ...
- LeetCode Merge k Sorted Lists(有序单链表数组的合并)
题意:给出一个有序单链表数组,将其合并成一个有序单链表 思路:将其转化成两个单链表合并的问题,用递归方式来实现 代码如下: public class Solution {private ListNod ...
- 数据结构——单链表的C++实现
数据结构--单链表的C++实现 \qquad单链表的创建.求长度.查找.插入和删除的C++实现. #include<iostream> using namespace std;//1.定义 ...
- php mysql 链表_浅谈PHP链表数据结构(单链表)
链表:是一个有序的列表,但是它在内存中是分散存储的,使用链表可以解决类似约瑟夫问题,排序问题,搜索问题,广义表 单向链表,双向链表,环形链表 PHP的底层是C,当一个程序运行时,内存分成五个区(堆区, ...
- python 单链表是否有回路_(Python3)数据结构--单链表之判断链表是否有环
前言 有Python基础 有数据结构单链表基础,没接触过的可以看下面链接 https://blog.csdn.net/sf9898/article/details/104946291 原理和实现 有一 ...
- 数据结构 —— 单链表(超详细图解 接口函数实现)
系列文章目录 数据结构 -- 顺序表 数据结构 -- 单链表 数据结构 -- 双向链表 数据结构 -- 队列 数据结构 -- 栈 数据结构 -- 堆 数据结构 -- 二叉树 数据结构 -- 八大排序 ...
- C语言数据结构单链表链表
数据结构–单链表 学习了顺序表,我们发现顺序表在向里面存放数据的时候很麻烦,比如我们要使用头插法存放一个数据到顺序表的时候,我们要将整个表都向后挪一位,这个操作就让人很难受.那么有没有一种结构可以让我 ...
- 数据结构——单链表(小白入门第二天)
一.什么是单链表? 定义:每个结点 除了存放数据元素外,还要存储指向下一个节点的指针: 优点:不要求大片连续空间,改变容量方便: 缺点:不可随机存取,要耗费一定空间存放指针 局限性:无法逆向检索 二. ...
- 数据结构-单链表基本操作(C语言实现)
参考书:王道考研数据结构 (此贴为博主学习408的笔记,因博主也是学习者,个人总结如有错误欢迎指正.如有侵权请告知,马上删除致歉) 单链表定义 单链表是线性表的链式存储,通过一组任意的存储单元来存 ...
最新文章
- yolov5损失函数笔记
- centos7中安装、配置、验证、卸载redis
- android纯白背景加灰,Android背景颜色设置为灰色而不是@android:颜色/白色
- weka: naive bayes
- c语言socket发送excel,socket文件传输功能的实现
- 向量数量积公式_多法 | 向量数量积相关最值问题的常见处理方法
- 信息学奥赛一本通 2053:【例3.3】三个数
- 一个不限制插值个数和上采样倍数的视频增强方法
- GitHub Actions 部署 VuePress 文档
- WCF引用方式之IIS方式寄宿服务
- python程序设计基础与应用课后答案_智慧职教Python程序设计基础作业课后答案
- ArcGIS网络分析扩展模块
- iTop-4412精英版的u-boot-2017.11移植教程(二)
- DAVE笔记--Micrium uc-Probo DashBoard调试
- 说给自己听 -- 三毛
- 微软必应Bing搜索引擎这几天无法访问!
- SHELLEXECUTEINFO控制外部进程
- c语言设计一个程序:计算圆周率,精确到小数点后8位数
- css3论坛,css3学习参考手册
- Ubuntu下使用ROS moveit 连接ABB机器人