当前位置: 首页 > 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.yayakq.cn/news/318818/

相关文章:

  • html在线编辑网站网站备案如何申请
  • 做外卖系统哪家网站做的好专业团队原版视频
  • 虚拟主机搭建网站源码免费查公司信息哪个软件好
  • 用htlm做静态网站怎么用数据库 网站开发所需流程
  • 免费发布信息网站大全有哪些wordpress纯文章模板
  • 有没有做二手设备网站宿州网站制作公司
  • 房产信息查询系统官方网站制作公司网页图片
  • 宁陵网站建设东莞高端网站设计
  • 国家资源库建设网站wordpress无发上传图片
  • 辽宁省工程造价管理总站网站备案黑名单
  • 廉洁沈阳网站WordPress文章总数
  • 男人和女人做不可描述的事情的网站课题组网站怎么做
  • 企业为什么要建设自己的网站淄博五厘网络技术有限公司
  • 浅谈电子商务网站建设与规划wordpress中文竖排
  • 东莞创建网站自己做网站麻烦吗
  • 想建设个网站怎么赚钱查公司信息的网站是哪个网站
  • 电子商务网站建设与管理课后习题丽水微信网站建设哪家好
  • 网页设计与网站建设考试题苗木门户网站模板
  • 网站logo图怎么做个人备案网站可以做商城吗
  • html5网站模板 站长网制作单页网站多少钱
  • wordpress婚礼模板下载天津网站的优化
  • 娄底网站建设电商网站运营团队建设方案模板
  • 网站seo置顶 乐云践新专家丽水建设网站制作
  • 河南营销网站建设联系方式自建站怎么推广
  • 婚庆公司网站网站运行维护
  • 做网站开发能挣钱宁波seo公司排名
  • 青岛网站建设与管理做asp网站需要的实验报告单
  • 中国郑州建设信息网站wordpress如何加入视频播放器
  • 家装公司网站建设网站的网站
  • 湖南城市建设技术学院官方网站青岛排名推广