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

做网站做生意小程序拉新推广平台

做网站做生意,小程序拉新推广平台,集约化政府网站建设,淘宝客做网站卖什么好目录 一.链表 1)链表的概念 2)链表的结构 二.单链表的实现 三.链表的分类 1)单向或者双向 2)带头或不带头 3)循环或非循环 一.链表 1)链表的概念 链表(Linked List)是一种…

目录

一.链表

1)链表的概念

2)链表的结构

二.单链表的实现

 三.链表的分类

1)单向或者双向 

2)带头或不带头  

3)循环或非循环 


一.链表

1)链表的概念

      链表(Linked List)是一种物理存储结构上非连续,非顺序的储存结构,数据元素的逻辑顺序是通过链表中指针链接次序实现的。要注意,链表也是线性表----->但链表在物理结构上不是线性的。

2)链表的结构

       举个栗子让我们更好的理解链表的结构:想象一辆火车,有一节一节的车厢,每个车厢都是独立存在的,旺季的时候多添加几节车厢,淡季的时候减少几节车厢,假如我们只能带一把钥匙从车头走到车尾,我们能想到的最简单的方法就是在每节车厢都放上下一节车厢的钥匙。

在链表里是什么形式呢?

      与顺序表的不同,每一个都是单独申请的空间(即需要要插入数据时才去申请一块节点的空间),这每个空间我们称之为节点。节点的组成我们直观的从图中就能看出来:要保存的数据和保存下一个节点的地址,我们需要通过指针变量来保存下一节点位置才能从当前节点找到下一节点,这样就可以使我们的链表真正链接起来。

      图中指针变量qList保存的是第一个节点的地址,此时qList指向第一个节点,如果我们想让其指向第二个节点时,我们只需要把其保存的指针变量修改成0x0012FFA0即可让qList直接指向第二节点。

假设是整型,我们给出当前的结构体代码:

struct SListNode
{int data; //节点数据struct SListNode* next; //指针变量⽤保存下⼀个节点的地址
};

      当我们想要保存下一个整型数据的时候,实际上我们向系统申请了一块内存,这个内存不仅要保存整型数据,也需要保存下一个节点的地址(当下一个节点为空时保存地址为空)。我们想从第一个节点走到最后一个节点的时候,只需要在前一个节点拿上下一个节点的地址就可以了。

void SLTPrint(SLTNode* phead){SLTNode *phead = phead;while(pcur){printf("%d",pcur->data);pcur = pcur->next;}printf("\n");
}

如何实现从头到尾的打印?

 ps.:

  1. 在逻辑上是连续的,在物理结构上不一定连续
  2. 节点一般是从堆上申请的
  3. 从堆上申请的空间是按照一定策略分配出来的,每次申请的空间可能连续,也可能不连续

二.单链表的实现

typedef int SLTDataType;
typedef struct SListNode
{SLTDataType data; //节点数据struct SListNode* next; //指针保存下⼀个节点的地址
}SLTNode;
void SLTPrint(SLTNode* phead);
//头部插⼊删除/尾部插⼊删除
void SLTPushBack(SLTNode** pphead, SLTDataType x);
void SLTPushFront(SLTNode** pphead, SLTDataType x);
void SLTPopBack(SLTNode** pphead);
void SLTPopFront(SLTNode** pphead);
//查找
SLTNode* SLTFind(SLTNode* phead, SLTDataType x);
//在指定位置之前插⼊数据
void SLTInsert(SLTNode** pphead, SLTNode* pos, SLTDataType x);
//删除pos节点
void SLTErase(SLTNode** pphead, SLTNode* pos);
//在指定位置之后插⼊数据
void SLTInsertAfter(SLTNode* pos, SLTDataType x);
//删除pos之后的节点
void SLTEraseAfter(SLTNode* pos);
//销毁链表
void SListDesTroy(SLTNode** pphead);

 三.链表的分类

链表结构非常多样,有一大堆组合:

1)单向或者双向 

 

2)带头或不带头  

3)循环或非循环 

    虽然链表结构这么多,但我们最常用的还是两种链表,一种最简单,一种最复杂。

1.无头单向非循环列表(也就是单链表):结构比较简单,一般不会单独用来存储数据。现实中更多是作为其他数据结构的子结构,如哈希桶之类的。

2.带头双向循环链表:结构最复杂,一般用于单独储存数据。实际使用的链表数据结构大部分都是这种链表。这种链表虽然麻烦一点,但这个结构往往具有很多优势,实现起来反而简单许多。

 后面会详细讲这些实现是如何操作的~~~

   🎈🎈完结撒花🎈🎈

http://www.tj-hxxt.cn/news/61122.html

相关文章:

  • 企业起名大全参考哈尔滨网络推广优化
  • 哪有做外单的图片素材网站哪家网络公司比较好
  • 网站建设的流程图示今日国内新闻头条大事
  • 建设银行香港招聘网站网络软文范例
  • 休闲食品网站建设国际军事最新头条新闻
  • 易语言做网站登录免费网站友情链接
  • 咸阳做网站价格关键词优化排名详细步骤
  • 网站建设学习步骤网站优化 福州
  • 代刷网可以做网站地图口碑营销的名词解释
  • 更换网站服务器35个成功的市场营销策划案例
  • 美国做旅游网站seo营销技巧
  • 建一个类似亨物说网站建设费用长沙关键词优化平台
  • 如何做英文ppt模板下载网站nba湖人最新新闻
  • javaweb做网站香港seo公司
  • 做网站用什么语言开发谷歌seo优化中文章
  • 做网站要用到什么软件成都seo外包
  • 广东广州自己建网站公司优化手机流畅度的软件
  • dede 百度网站地图2022知名品牌营销案例100例
  • pc网站运营一句话宣传自己的产品
  • 做财务还是网站运营百度竞价返点一般多少
  • 网站设计是用ps做图吗竞价推广是什么意思
  • h5网页制作代码成都seo工程师
  • 简述网页与网站的区别关键词网站查询
  • 注册了域名怎样做网站故事性营销软文
  • 998元网站建设优化网店推广营销方案
  • 网站备案期间 搜索引擎一点优化
  • 手机免费创建网站的软件百度快速收录教程
  • 企业网站重要性百度指数查询手机版
  • 华夏运用网站网站推广排名服务
  • 做网站的背景怎么做手机百度搜索引擎