当前位置: 首页 > news >正文

高密市住房和城乡建设局网站wordpress自带配置邮箱

高密市住房和城乡建设局网站,wordpress自带配置邮箱,长沙网站建设哪家最好,网站制作书生💖💖💖欢迎来到我的博客,我是anmory💖💖💖 又和大家见面了 欢迎来到动画详解数据结构系列 用通俗易懂的动画的动画使数据结构可视化 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低…

💖💖💖欢迎来到我的博客,我是anmory💖💖💖
又和大家见面了
欢迎来到动画详解数据结构系列
用通俗易懂的动画的动画使数据结构可视化
先来自我推荐一波
个人网站欢迎访问以及捐款
推荐阅读
如何低成本搭建个人网站
专栏:动画详解leetcode算法题
C语言知识
太棒啦
今天我们来了解一个全新的数据结构,链表
话不多说,直接开始

文章目录

  • 链表概念
    • 链表的定义
  • 单链表
    • 尾插
      • 动画详解尾插
    • 头插
      • 动画详解头插
    • 在指定位置之前插入
      • 动画详解在指定位置之前插入元素
    • 在指定位置之后插入
      • 动画详解在指定位置之后插入
    • 删除指定位置之前的元素
      • 动画详解删除指定位置之前元素
    • 删除指定位置之后的元素
      • 动画详解删除指定位置之后的元素
    • 链表的销毁
  • 总结

链表概念

什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。
链表的入口节点称为链表的头结点也就是head。
——来自代码随想录
链表的定义

链表的定义

// 定义一个链表结构体
struct ListNode
{DataType val; // 链表存储的数据struct ListNode* next;// 指向下一个节点的指针
};

单链表

由于不带哨兵位,也就是虚拟头节点,我们需要对链表的头节点进行单独判断

尾插

// 开辟新节点
LN* BuyNode(DataType x)
{LN* new = (LN*)malloc(sizeof(LN));if (new == NULL){perror("malloc failed");return;}new->val = x;new->next = NULL;return new;
}// 链表尾插
void LNPushBack(LN** pplist, DataType x)
{assert(pplist);LN* new = BuyNode(x);if (*pplist == NULL){*pplist = new;}else{// 找尾LN* ptail = *pplist;while (ptail->next){ptail = ptail->next;}ptail->next = new;}
}

动画详解尾插

尾插

头插

// 链表头插
void LNPushFront(LN** pplist, DataType x)
{assert(pplist);LN* new = BuyNode(x);if (*pplist == NULL){*pplist = new;}else{LN* pfront = new;pfront->next = *pplist;// 让pfront成为新的头节点,也就是更新pplist的位置,使其成为新的头节点*pplist = pfront;}
}

动画详解头插

头插

在指定位置之前插入

// 在指定位置之前插入数据
void LNInsert(LN** pplist, LN* pos, DataType x)
{assert(*pplist && pos);LN* new = BuyNode(x);LN* prev = *pplist;while (prev->next != pos){prev = prev->next;}new->next = pos;prev->next = new;
}

动画详解在指定位置之前插入元素

指定位置之前插入

在指定位置之后插入

// 在指定位置之后插入数据
void LNInsertAfter(LN* pos, DataType x)
{assert(pos);LN* new = BuyNode(x);new->next = pos->next;pos->next = new;
}

动画详解在指定位置之后插入

在指定位置之后插入

删除指定位置之前的元素

// 删除指定位置数据
void LNDelPos(LN** pplist, LN* pos)
{assert(pplist && *pplist);assert(pos);// 如果pos是头节点if (pos == *pplist){*pplist = pos->next;free(pos);pos = NULL;}// pos不是头节点LN* prev = *pplist;while (prev->next != pos){prev = prev->next;}prev->next = pos->next;free(pos);pos = NULL;
}

动画详解删除指定位置之前元素

删除指定元素之前的元素

删除指定位置之后的元素

// 删除指定位置之后的数据
void LNDelAfter(LN* pos)
{assert(pos);LN* pcur = pos->next;pos->next = pos->next->next;free(pcur);pcur = NULL;
}

动画详解删除指定位置之后的元素

删除指定位置之后的元素

链表的销毁

// 销毁链表
void LNDestroy(LN** pplist)
{LN* cur = *pplist;while (cur){LN* next = cur->next;free(cur);cur = next;}
}

总结

💖💖💖更多内容持续更新中💖💖💖
请各位多多关注我哦!!
我们后会有期
呼噜呼噜玉桂狗

http://www.yayakq.cn/news/164028/

相关文章:

  • 西安市网站制作公司怎么把产品推广到各大平台
  • 深圳定制型网站建设免费ppt模板下载医学
  • 企业网站推广的收获与启示大连网站建设意动科技公司
  • 网站怎么做rss订阅功能加强门户网站建设通知
  • 鲜花销售网站模板类似于wordpress
  • 微信网站html5做网站如何变现
  • 深圳网站建设力荐上榜网络代理推广
  • 上海建站宝盒营销型网站设计招聘
  • 做网站 融资支付集成文件放在网站哪里
  • 电影订票网站怎么做用网站ip做代理
  • 宁晋网站开发驾校网站模版
  • 怎样用自己的服务器做网站自已建设网站流程
  • 网站建设预算描述做网站用什么配置的vps
  • 网站建设板块如何分类网站建设与推广是什么意思
  • 做内容网站最好看免费观看高清大全一影视下载
  • 服务之家做网站简单吗烟台网站建设价格
  • 吉林 网站备案 照相网站正在建设 英文翻译
  • 做网站后都需要什么网站开发与设计论文
  • 上海如何优化网站采购需求发布平台
  • 用dw做网站的基本步骤大连企业网站建站模板
  • 鞍山一般做一个网站需要多少钱遵义网站制作费用
  • 邳州建设局网站重庆免费自助建站模板
  • 为什么做这个网站反馈问题平台网址怎么查询
  • 怎么做淘宝联盟网站推广全球新冠死亡人数
  • 原创网站开发流程网站的思维导图怎么做
  • 最大的免费网站建设电商网站备案
  • 制作网站的完整步骤深圳网站建设网站设计软文推广
  • 做玻璃瓶的网站昆明官网seo厂家
  • app商城网站开发小程序网站做多大尺寸
  • 网站搜索框用ps怎么做wordpress主题博客