线性表 c++语言代码,线性表C++的两种实现(顺序表示、单链表)
[C++] 纯文本查看 复制代码bool InitList(LinkList &L) {
L = new LNode;
if (L == NULL) return false;
L->next = NULL;
return true;
}
int Length(LinkList L) {
LNode *p = L;
int i = 0;
while (p->next != NULL) {
p = p->next;
i++;
}
return i;
}
int LocateElem(LinkList L, int e) {
LNode *p = L->next;
for (int i = 1; p != NULL; ++i) {
if (p->data == e) return i;
p = p->next;
}
return -1;
}
LNode *GetElem(LinkList L, int i) {
if (i < 0) return NULL;
LNode *p = L;
for (int j = 0; p != NULL && j < i; j++)
p = p->next;
return p;
}
bool InsertNextNode(LNode *p, int e) {
if (p == NULL) return false;
LNode *s = new LNode;
if (s == NULL) return false;
s->data = e;
s->next = p->next;
p->next = s;
return true;
}
bool ListInsert(LinkList &L, int i, int e) {
if (i < 1) return false;
LNode *p = GetElem(L, i - 1);
return InsertNextNode(p, e);
}
bool ListDelete(LinkList &L, int i, int &e) {
if (i < 1) return false;
LNode *p = GetElem(L, i - 1);
if (p == NULL || p->next == NULL) return false;
LNode *q = p->next;
e = q->data;
p->next = q->next;
delete q;
return true;
}
void PrintList(LinkList L) {
LNode *p = L->next;
for (int i = 0; p != NULL; i++) {
std::cout << "线性表第" << i << "个位置的元素为:" << p->data << std::endl;
}
}
bool Empty(LinkList L) {
return L->next != NULL ? true : false;
}
void DestoryList(LinkList &L) {
LNode *p = L;
LNode *temp;
while (p != NULL) {
temp = p;
p = p->next;
delete temp;
}
}
线性表 c++语言代码,线性表C++的两种实现(顺序表示、单链表)相关推荐
- 【WEB】语言代码缩写表大全(用于Accept-Language)
语言代码缩写表大全 注意大小写:全部小写!! af 南非公用荷兰语 sq 阿尔巴尼亚语 ar-sa 阿拉伯语(沙特阿拉伯) ar-iq 阿拉伯语(伊拉克) ar-eg 阿拉伯语(埃及) ar-l ...
- scrapy Accept-Language 语言代码缩写表大全
语言代码缩写表大全 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language Accept-Language: ...
- Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表、修改表,以及增、删、改、查)之详细攻略
Database之SQLSever:SQLSever数据表管理(GUI法/SQL语句命令法两种方法实现建立表.修改表,以及增.删.改.查)之详细攻略 目录 一.两种方法建立表.修改表,插入多条数据记录 ...
- c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...
[判断题]C语言中的字符常量通常有两种形式:普通字符和转义字符. 更多相关问题 ---Can you speak French?---Yes, but only____.A.a littleB.lit ...
- R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况
R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况 目录
- linux中复制字符串出错,C语言实现字符串的复制的两种方法
本文将要为您介绍的是C语言实现字符串的复制的两种方法,具体操作方法: 利用数组实现 1 #include 2 #include 3 4 void copy_string(char str1[],cha ...
- 指针数组下标JAVA_Java语言中可用下标和指针两种方式表示数组元素。
[判断题]一行可以写多条预处理命令 [判断题]如果一个java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名一致. [判断题]Protected类型的实例变量只能在本类中使用,其他类中不可 ...
- c语言线性顺序表,C语言程序——线性顺序表.doc
C语言程序--线性顺序表.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文 ...
- 线性表之顺序结构单链表
数据结构学习笔记 文章目录 数据结构学习笔记 一.线性表的链式存储结构之单链表 1.单链表存储结构要素 2.实现过程 二.读取操作 1.算法思路 2.算法实现 三.插入操作 1.算法思路 2.算法实现 ...
最新文章
- python画散点图程序-Python散点图与折线图绘制过程解析
- 每日程序C语言30-static作用
- Java---形参个数可变的方法
- php排序算法面试题,PHP算法面试题目及答案
- 计算机组成原理笔记(王道考研) 第三章:存储系统
- 车联网及其技术发展趋势
- python数学篇(经典算法题)
- 电子厂计算机维修周记,关于电子厂实习周记范文
- 便利店“三方会战”,谁是最后赢家?
- 苹果亮度自动调节怎么关闭_笔记本黑苹果系统亮度调节驱动
- JetBrains当选JCP执行委员会委员
- vo、qo、bo在spring中的位置
- 英语学习(十)疑问句及否定句
- 架设个人Web服务器实战(通过ADSL路由)
- SpringCloud-config分布式配置中心
- SYN5301型 时间检定仪
- SpringBoot设置全局上传文件路径并上传文件
- bootstrap 表单验证
- 正则表达式中(括号) [方括号] {大括号}的区别
- Android 字体库
热门文章
- Hibernate持久化类与主键生成策略
- python37降到36原来的包还可以用吗_【lc刷题】36/37 有效的数独/解数独(143-144/300)...
- 查看docker运行状态_docker商业版受限?请了解下crio
- 基于 abp vNext 和 .NET Core 开发博客项目 - Blazor 实战系列(八)
- 基于 abp vNext 和 .NET Core 开发博客项目 - 使用Redis缓存数据
- linux hashmap,Java中对HashMap的深度分析与比较
- 【已解决】R read.table()报错:incomplete final line found by readTableHeader
- 完全备份指的是对整个计算机系统,网络安全管理实践题库:在备份技术中,差分备份就是对整个系统所有文件进行完全备份,包括所有系统和数据。()...
- cadshx字体怎么安装_福利 | 关于PPT字体,你应该知道的几件事...字体包福利见文末...
- 调整png的不透明度_悄悄告诉你:11个高质量PNG素材来源,再也不用抠图了~