数据结构题型6-后插结点操作

#include <iostream>  //引入头文件
using namespace std;typedef int Elemtype;#define Maxsize 100
#define ERROR 0
#define OK    1typedef struct LNode
{Elemtype data;//数据域struct LNode* next;//指针域
}LNode, * LinkList;bool InitList(LinkList& L)   //初始化
{L = (LinkList)malloc(sizeof(LNode));if (L == NULL)return ERROR;L->data = 0;L->next = NULL;return OK;
}bool ListEmpty(LinkList L)  //判断是否为空
{if (L->next != NULL){cout << "not empty" << endl;return OK;}else{cout << "empty,只有头节点" << endl;return ERROR;}
}int ListLength(LinkList L)
{LNode* p;p = L->next;int i = 0;while (p != NULL){p = p->next;i++;}return i;
}LinkList List_HeadInsert(LinkList& L)  //头插法
{L = (LinkList)malloc(sizeof(LNode));L->data = 0;L->next = NULL;LNode* s = NULL;int x = 0;while (cin >> x){s = (LinkList)malloc(sizeof(LNode));s->data = x;s->next = L->next;L->next = s;if (cin.get() == '\n') break;}return L;
}LinkList List_TailInsert(LinkList& L)  //尾插法
{L = (LinkList)malloc(sizeof(LNode));L->data = 0;L->next = NULL;LNode* s = NULL, * r = NULL;r = L;int x = 0;while (cin >> x){s = (LinkList)malloc(sizeof(LNode));s->data = x;r->next = s;r = s;if (cin.get() == '\n') break;}s->next = NULL;return L;
}
LNode* GetElem(LinkList L, int i)
{if (i < 0) return NULL;int j = 0;LNode* p = L;while (p && j < i){p = p->next;j++;}return p;
}
LNode* LocateElem(LinkList L, int e)
{LNode* p = L->next;while (p && p->data != e){p = p->next;}return p;
}bool InsertPriorNode(LNode* p, int e)
{if (p == NULL) return ERROR;LNode* s = (LinkList)malloc(sizeof(LNode));if (s == NULL) return ERROR;s->next = p->next;p->next = s;s->data = p->data;p->data = e;return OK;
}
//------------------------核心代码------------------------//
bool InsertNextNode(LNode* p, int e)
{if (p == NULL) return ERROR;LNode* s = (LinkList)malloc(sizeof(LNode));if (s == NULL) return ERROR;s->next = p->next;p->next = s;s->data = e;return OK;
}
//------------------------核心代码------------------------//
int main(void)
{LinkList L = NULL;List_TailInsert(L);  //尾插法cout << "------------------插入特定数据前------------------" << endl;cout << L << " " << L->data << " " << L->next << endl;cout << L->next << " " << L->next->data << " " << L->next->next << endl;cout << L->next->next << " " << L->next->next->data << " " << L->next->next->next << endl;//cout << L->next->next->next << " " << L->next->next->next->data << " " << L->next->next->next->next << endl;InsertNextNode(L->next, 100);cout << "------------------插入特定数据后------------------" << endl;cout << L << " " << L->data << " " << L->next << endl;cout << L->next << " " << L->next->data << " " << L->next->next << endl;cout << L->next->next << " " << L->next->next->data << " " << L->next->next->next << endl;cout << L->next->next->next << " " << L->next->next->next->data << " " << L->next->next->next->next << endl;return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PMP认证可以用来干什么呢?

PMP(项目管理专业人士&#xff09;认证是一项国际上广为认可的专业认证&#xff0c;具有以下几个重要用途和好处&#xff1a; 1. 提升职业竞争力&#xff1a; PMP认证是项目管理领域具有权威性和声誉的认证之一。持有PMP认证可以证明你具备了相关知识、技能和经验&#xff0c…

【hive】列转行—collect_set()/collect_list()/concat_ws()函数的使用场景

文章目录 一、collect_set()/collect_list()二、实际运用把同一分组的不同行的数据聚合成一个行用下标可以随机取某一个聚合后的中的值用‘|’分隔开使用collect_set()/collect_list()使得全局有序 一、collect_set()/collect_list() 在 Hive 中想实现按某字段分组&#xff0c…

通过数据模板自动生成表格table

1.数据模板中的主要几个参数需要注意下(需要加样式可自由设置参数)&#xff1a; title:填入表格的内容 col:1,占一列&#xff0c;row: 3&#xff0c;占3行 align:center居中对齐, pdL&#xff1a;14&#xff0c;padding-left:14, bold:true,加粗 width&#xff1a;100&#xff…

简单聊聊G1垃圾回收算法整个流程 --- 理论篇 -- 下

简单聊聊G1垃圾回收算法整个流程 --- 理论篇 -- 下 软实时性预测转移时间预测可信度GC 暂停处理的调度并发标记中的暂停处理 分代 G1 GC 模式不同点新生代区域分代对象转移具体转移流程分代选择回收集合设置最大新生代区域数 GC的切换GC执行的时机 总结 上一篇 文章我们简单看了…

【C++】常用排序算法

0.前言 1.sort #include <iostream> using namespace std;// 常用排序算法 sort #include<vector> #include<algorithm>//利用仿函数 打印输出 class myPrint { public:void operator()(int val){cout << val << " ";} };//利用普通函…

【C++深入浅出】类和对象中篇(六种默认成员函数、运算符重载)

目录 一. 前言 二. 默认成员函数 三. 构造函数 3.1 概念 3.2 特性 四. 析构函数 4.1 概念 4.2 特性 五. 拷贝构造函数 5.1 概念 5.2 特性 六. 运算符重载 6.1 引入 6.2 概念 6.3 注意事项 6.4 重载示例 6.5 赋值运算符重载 6.6 前置和后置运算符重载 七. c…

Excel显示列号

默认表格打开列以字母显示 设置方法 文件 -> 工具 -> 选项 -> 常规与保存 设置后效果如下图

使用高斯混合模型进行聚类

一、说明 高斯混合模型 &#xff08;GMM&#xff09; 是一种基于概率密度估计的聚类分析技术。它假设数据点是由具有不同均值和方差的多个高斯分布的混合生成的。它可以在某些结果中提供有效的聚类结果。 二、Kmean算法有效性 K 均值聚类算法在每个聚类的中心周围放置一个圆形边…

推荐10个AI人工智能技术网站(一键收藏,应有尽有)

1、Mental AI MentalAI&#xff08;https://ai.ciyundata.com/&#xff09;是一种基于文心大模型的知识增强大语言模型&#xff0c;专注于自然语言处理&#xff08;NLP&#xff09;领域的技术研发。它具备强大的语义理解和生成能力&#xff0c;能够处理各种复杂的自然语言任务。…

Python第一次作业练习

题目分析&#xff1a; """ 参考学校的相关规定。 对于四分制&#xff0c;百分制中的90分及以上可视为绩点中的4分&#xff0c;80 分及以上为3分&#xff0c;70 分以上为2分&#xff0c;60 分以上为1分; 五分制中的5分为四分制中的4分&#xff0c;4分为3分&#…

RNA 37. SCI 文章中基于转录组计算肿瘤免疫浸润得分

这期推荐软件包 xCell:数字化描绘组织细胞异质性景观&#xff0c;通过它可以计算bulk 转录组的免疫浸润得分&#xff0c;下面我们就看看怎么来实现吧&#xff01; 简 介 组织是由许多细胞类型组成的复杂环境。在癌症领域&#xff0c;了解肿瘤微环境中的细胞异质性是一个新兴…

【css | loading】好看的loading特效

示例&#xff1a; https://code.juejin.cn/pen/7277764394618978365 html <div class"pl"><div class"pl__dot"></div><div class"pl__dot"></div><div class"pl__dot"></div><div c…

第51节:cesium 范围查询(含源码+视频)

结果示例: 完整源码: <template><div class="viewer"><el-button-group class="top_item"><el-button type=

Axure RP 10汉化版下载 Axure RP 10 mac授权码

Axure RP10汉化版是最强大的计划&#xff0c;原型设计和交付给开发人员的方法&#xff0c;而无需编写代码。能够制作逼真的&#xff0c;动态形式的原型。 Axure RP 10汉化版下载 Axure RP 10 mac授权码 RP 10有什么新功能&#xff1f; 1.显示动态面板 使用Axure RP 10&…

docker 镜像内执行命令显示:You requested GPUs: [0] But your machine only has: []

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 在docker 镜像环境中&#xff0c;执行“docker exec -it container_name /bin/bash “进入容器之后&#xff0c;执行对应的python命令&#xff0c;显示You requested GPUs: [0] But your machine only…

【深度学习】P1 单层神经网络 - 线性回归(待完成)

单层神经网络 - 线性回归 线性回归基本要素1. 模型2. 模型训练3. 训练数据4. 损失函数5. 优化算法6. 模型预测 线性回归与神经网络1. 神经网络图 以一个简单的房屋价格预测为例&#xff0c;介绍解释线性回归这一单层神经网络。无需纠结于什么是单层神经网络&#xff0c;在本文的…

Hadoop_02

hadoop相比于传统文件系统的优点&#xff1a; 1.无限扩展 2.传统文件元数据分布在不同的机器上难以寻找&#xff0c;通过将元数据统一存放在一个服务器上解决 3.传统文件太大导致上传下载慢&#xff0c;通过分块并行上传到服务器解决 4.副本机制数据不容易丢失&#xff0c;解决…

JavaScript里面的二进制

概述 最近在做IOT设备配网开发的时候&#xff0c;处理了很多跟二进制、字节相关的事情&#xff0c;总结了一下JavaScript中有关二进制方面的一些知识点。 二进制和字节 首先&#xff0c;现代计算机是基于二进制的&#xff0c;从现代计算机电路来说&#xff0c;只有高电平/低电平…

数据在内存中的存储——练习3

题目&#xff1a; 3.1 #include <stdio.h> int main() {char a -128;printf("%u\n",a);return 0; }3.2 #include <stdio.h> int main() {char a 128;printf("%u\n",a);return 0; }思路分析&#xff1a; 首先二者极其相似%u是无符号格式进行…

【Linux】—— 在Linux上进行读写文件操作

前言&#xff1a; 在之前&#xff0c;我已经对进程的相关知识进行了详细的介绍。本期开始&#xff0c;我们将要学习的是关于 “基础I/O”的知识&#xff01;&#xff01;&#xff01; 目录 &#xff08;一&#xff09;C文件接口 &#xff08;二&#xff09;系统文件I/O 1、接…