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

做网站做生意中国新冠一共死去的人数

做网站做生意,中国新冠一共死去的人数,城市建设局网站,wordpress插件如何使用目录 一.链表 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.hkea.cn/news/7291/

相关文章:

  • 俄罗斯门户网站有哪些台州网站建设平台
  • 中山公司做网站海外营销
  • dede网站名称不能中文成都网站建设企业
  • 电子公司网站设计北京seo多少钱
  • 软件开发合同协议什么是seo
  • 加强信息网站建设优化方案官方网站
  • 广州建外贸网站公司简介微博推广技巧
  • 优秀政府门户网站百度推广一个月费用
  • 新疆乌鲁木齐专业做网站的公司百度客服号码
  • 无障碍浏览网站怎么做唐山百度seo公司
  • 网站前台的实现大数据查询官网
  • 网页设计收费标准需要多少钱湖南seo技术培训
  • 免费自动建站今日最新国际新闻
  • 绵阳公司商务网站制作seo外包公司怎么样
  • 柳市网站制作百度一下的网址
  • 做网站需要独立显卡吗360优化大师官方最新
  • android应用开发技术重庆seo和网络推广
  • 自己做的网站显示不出来如何用手机制作网站
  • 上海软件开发企业百度seo推广优化
  • 网站三级导航栏代码郑州网站建设
  • 手机网站建设免费网站模板库
  • 外贸业务员如何寻找国外客户北京搜索引擎优化seo专员
  • 口碑好的做网站公司网站制作公司哪家好
  • 洛阳制作网站公司吗广东seo推广费用
  • 做企业网站和邮箱seo外链推广工具下载
  • 哈尔滨制作网站建网站赚钱
  • 开发手机端网站模板制作一个网站的流程有哪些
  • 龙岩网站制作seo公司发展前景
  • 外部门户网站首页软文营销经典案例优秀软文
  • 丰都专业网站建设公司活动软文怎么写