这篇文章主要为大家介绍了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++数据结构链表的基本操作相关推荐

  1. 数据结构之【线性表】(顺序表、链表的基本操作实现)

    概念 线性表:是N个数据元素的有限序列. 顺序表:用一组地址连续的存储单元依次存储[线性表 ]的数据元素.(区别于有序表:表中的数据元素存在非递增或非递减有序) 链表:用一组任意的存储单元来存储[线性 ...

  2. 数据结构实验3、单链表的基本操作实现

    实验三: 作者说: 写的如果有不太好的地方,欢迎大佬指点! 一.运行效果截图 二.实验要求 实验3.单链表的基本操作实现 (1)实验目的 通过该实验,深入理解链表的逻辑结构.物理结构等概念,掌握链表基 ...

  3. 【数据结构】链表的基本操作

    文章目录 1.单链表的定义 2.单链表上的基本操作 2.1采用头插法建立单链表 2.2采用尾插法建立单链表 2.3按序号查找结点数据 2.4按值查找表结点 2.5插入节点操作 2.6删除节点操作 3. ...

  4. 链表c++语言 解析,C++ 单链表的基本操作(详解)

    链表一直是面试的高频题,今天先总结一下单链表的使用,下节再总结双向链表的.本文主要有单链表的创建.插入.删除节点等. 1.概念 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数 ...

  5. 【BUCTOJ】链表的基本操作

    原始题目 题题目描述 链表是数据结构中一种最基本的数据结构,它是用链式存储结构实现的线性表.它较顺序表而言在插入和删除时不必移动其后的元素.现在给你一些整数,然后会频繁地插入和删除其中的某些元素,会在 ...

  6. 单链表的基本操作-插入结点、删除结点、新建链表、查找结点位置

    ** C语言新手小白的学习笔记-------------目前持续更新中 ** 本人90后电气工程及其自动化大学生,大二开始接触C语言,写过前端,Python,但是都不精通,通过许多认识后明白了自身的许 ...

  7. 【C++】链表及基本操作

    链表及基本操作 定义 基本操作 1. 创建单链表 2. 插入节点 3. 删除节点 4. 反转链表 5. 倒数第K个节点 6. 是否有环 本文所述均为单向链表. ps:更多数据结构知识详见: 常见数组结 ...

  8. 数据结构线性表基本操作

    数据结构线性表基本操作 基本内容 线性表的顺序表示和实现 线性表的顺序存储表示 顺序表中基本操作的实现 1.顺序表的初始化 2.取值 3.查找 4.插入 5.删除 线性表的链式表示和实现 单链表的定义 ...

  9. Python中常用的数据结构---链表

    Python中常用的数据结构-链表 常用的数据结构有数组.链表(一对一).栈和队列.哈希表.树(一对多).图(多对多)等结构. 在本目录下我们将讲解,通过python语言实现常用的数据结构. 2.链表 ...

最新文章

  1. HDU 5606 tree 并查集
  2. JavaScript———从setTimeout与setInterval到AJAX异步
  3. C++ Primer 5th笔记(chap 14 重载运算和类型转换)标准库函数对象
  4. TCP的三个接收队列
  5. 深入浅出LVS:企业集群平台负载均衡的三种模式和算法实现
  6. 第十章 基本数据结构——链表
  7. ASP.NET系列:自定义配置节点的复用
  8. Ubuntu 16.04安装教程及虚拟机设置
  9. android resolvesize方法,Android 自定义View中onMeasure()中使用resolveSize()是什么意思?
  10. 2020.xilinx开发环境
  11. ApacheCN 学习资源汇总 2019.1
  12. 华为P50造型没跑了,后摄造型有点吓人!
  13. Atitit 远程存储与协议 mtp ptp rndis midi nfs smb webdav ftp hdfs v3 Atitit mtp ptp rndis midi协议的不同区别
  14. 服务器终端配置,如何配置终端/通讯服务器
  15. 敏捷其实很简单(7) Scrum Master的7种武器之长生剑和孔雀翎
  16. dva model数据管理
  17. 电脑如何录制在线课程?-QVE屏幕录制
  18. A1094、A1004
  19. sendgrid_使用SendGrid处理传入的电子邮件
  20. win10下使用caffe训练自己的数据,车牌二分类

热门文章

  1. 深圳、长沙高校排名飙升,清北坐实亚洲大学Top2,留学深造还去啥新港日| 泰晤士2020亚洲大学榜...
  2. 欠阿里云一分钱,会是什么样的后果...
  3. 干货 | 深度学习检测小目标常用方法
  4. 那些20岁不信,30岁却深信不疑的道理!
  5. 多个文件中的数据处理,输出自己想要是数据
  6. 美多商城之用户注册(用户注册业务实现)
  7. 可以使用的mysql和navigate
  8. Python Beautiful Soup类的基本元素
  9. centos上安装anaconda并配置虚拟环境
  10. 笔试题——max pooling滑动窗口实现(python 代码)