C++数据结构链表的基本操作
这篇文章主要为大家介绍了C++数据结构链表基本操作的示例过程有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪 |
首先创建好一个节点
typedef struct node {int date;struct node* next; }*PNODE;PNODE creatnode(int date ) {PNODE newnode = (PNODE)malloc(sizeof(struct node));assert(newnode);newnode->next = NULL;newnode->date = date;return newnode; }
其次创建一个统计节点属性
struct List {struct node* pronode;//这只是一个类型struct node*tailnode;int size; }; //创建统一链表属性的list //用来统计链表的(size)节点数 //head和tail用来统计链表的表头和表尾 struct List* creatlist() {struct List* list = (struct List*)malloc(sizeof(struct List));assert(list);list->pronode = NULL;list->tailnode = NULL;list->size = 0;//初始化return list;}
增加节点
用表头插入的方法插入节点
void insertbyhead(struct List* list,int date) {PNODE newnode = creatnode(date);if (list->size == 0){list->pronode = list->tailnode = newnode;}else{newnode->next = list->pronode;list->pronode = newnode;}list->size++; }
删除节点
//表头删除 void deletehead(struct List* list) {PNODE next = list->pronode->next;free(list->pronode);list->pronode = next; } //表尾删除 void deletetail(struct List* list) {PNODE pmove = list->pronode;//定义一个移动指针//目的找到表尾指针if (list->size == 0){printf("无法删除");return;}while (pmove->next != list->tailnode){pmove = pmove->next;}pmove->next = NULL;//表尾指针前面一个下一个指向nullfree(list->tailnode);list->tailnode = pmove;}
C++数据结构链表的基本操作相关推荐
- 数据结构之【线性表】(顺序表、链表的基本操作实现)
概念 线性表:是N个数据元素的有限序列. 顺序表:用一组地址连续的存储单元依次存储[线性表 ]的数据元素.(区别于有序表:表中的数据元素存在非递增或非递减有序) 链表:用一组任意的存储单元来存储[线性 ...
- 数据结构实验3、单链表的基本操作实现
实验三: 作者说: 写的如果有不太好的地方,欢迎大佬指点! 一.运行效果截图 二.实验要求 实验3.单链表的基本操作实现 (1)实验目的 通过该实验,深入理解链表的逻辑结构.物理结构等概念,掌握链表基 ...
- 【数据结构】链表的基本操作
文章目录 1.单链表的定义 2.单链表上的基本操作 2.1采用头插法建立单链表 2.2采用尾插法建立单链表 2.3按序号查找结点数据 2.4按值查找表结点 2.5插入节点操作 2.6删除节点操作 3. ...
- 链表c++语言 解析,C++ 单链表的基本操作(详解)
链表一直是面试的高频题,今天先总结一下单链表的使用,下节再总结双向链表的.本文主要有单链表的创建.插入.删除节点等. 1.概念 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数 ...
- 【BUCTOJ】链表的基本操作
原始题目 题题目描述 链表是数据结构中一种最基本的数据结构,它是用链式存储结构实现的线性表.它较顺序表而言在插入和删除时不必移动其后的元素.现在给你一些整数,然后会频繁地插入和删除其中的某些元素,会在 ...
- 单链表的基本操作-插入结点、删除结点、新建链表、查找结点位置
** C语言新手小白的学习笔记-------------目前持续更新中 ** 本人90后电气工程及其自动化大学生,大二开始接触C语言,写过前端,Python,但是都不精通,通过许多认识后明白了自身的许 ...
- 【C++】链表及基本操作
链表及基本操作 定义 基本操作 1. 创建单链表 2. 插入节点 3. 删除节点 4. 反转链表 5. 倒数第K个节点 6. 是否有环 本文所述均为单向链表. ps:更多数据结构知识详见: 常见数组结 ...
- 数据结构线性表基本操作
数据结构线性表基本操作 基本内容 线性表的顺序表示和实现 线性表的顺序存储表示 顺序表中基本操作的实现 1.顺序表的初始化 2.取值 3.查找 4.插入 5.删除 线性表的链式表示和实现 单链表的定义 ...
- Python中常用的数据结构---链表
Python中常用的数据结构-链表 常用的数据结构有数组.链表(一对一).栈和队列.哈希表.树(一对多).图(多对多)等结构. 在本目录下我们将讲解,通过python语言实现常用的数据结构. 2.链表 ...
最新文章
- HDU 5606 tree 并查集
- JavaScript———从setTimeout与setInterval到AJAX异步
- C++ Primer 5th笔记(chap 14 重载运算和类型转换)标准库函数对象
- TCP的三个接收队列
- 深入浅出LVS:企业集群平台负载均衡的三种模式和算法实现
- 第十章 基本数据结构——链表
- ASP.NET系列:自定义配置节点的复用
- Ubuntu 16.04安装教程及虚拟机设置
- android resolvesize方法,Android 自定义View中onMeasure()中使用resolveSize()是什么意思?
- 2020.xilinx开发环境
- ApacheCN 学习资源汇总 2019.1
- 华为P50造型没跑了,后摄造型有点吓人!
- Atitit 远程存储与协议 mtp ptp rndis midi nfs smb webdav ftp hdfs v3 Atitit mtp ptp rndis midi协议的不同区别
- 服务器终端配置,如何配置终端/通讯服务器
- 敏捷其实很简单(7) Scrum Master的7种武器之长生剑和孔雀翎
- dva model数据管理
- 电脑如何录制在线课程?-QVE屏幕录制
- A1094、A1004
- sendgrid_使用SendGrid处理传入的电子邮件
- win10下使用caffe训练自己的数据,车牌二分类
热门文章
- 深圳、长沙高校排名飙升,清北坐实亚洲大学Top2,留学深造还去啥新港日| 泰晤士2020亚洲大学榜...
- 欠阿里云一分钱,会是什么样的后果...
- 干货 | 深度学习检测小目标常用方法
- 那些20岁不信,30岁却深信不疑的道理!
- 多个文件中的数据处理,输出自己想要是数据
- 美多商城之用户注册(用户注册业务实现)
- 可以使用的mysql和navigate
- Python Beautiful Soup类的基本元素
- centos上安装anaconda并配置虚拟环境
- 笔试题——max pooling滑动窗口实现(python 代码)