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

今日昆明最新通告seo百度seo排名优化软件

今日昆明最新通告,seo百度seo排名优化软件,可以做电商题目的网站,wordpress加cdn文章目录 前言双向链表链表头结点的创建节点尾插与尾删节点头插与头删特定位置插入或删除节点链表节点查找双向链表的销毁 链表的打印 前言 假期时间因为为学校开学考试做准备所以一直没更新博客,今天开始博客会陆续更新。 双向链表 之前我们说过了顺序表和单链表…

文章目录

  • 前言
  • 双向链表
    • 链表头结点的创建
    • 节点尾插与尾删
    • 节点头插与头删
    • 特定位置插入或删除节点
    • 链表节点查找
    • 双向链表的销毁
  • 链表的打印

前言

假期时间因为为学校开学考试做准备所以一直没更新博客,今天开始博客会陆续更新。

双向链表

之前我们说过了顺序表和单链表,这次介绍双向链表,双向链表在使用上要比单链表简单,结构比单链表复杂一些,需要两个指针域,其结构如下图,其中头结点数据域不动(不要存放指针长度一类因为有时候我们不确定链表节点数据类型,如果是char类型而节点数大于128,那么就会出现bug),带有头结点可方便对其操作。
在这里插入图片描述

双向链表节点代码如下:

typedef int LTDataType;
typedef struct ListNode {struct ListNode* prev;struct ListNode* next;LTDataType data;
}LTNode;

与单链表相同无非是双向链表的增删改查。

链表头结点的创建

ListNode* ListCreate()
{ListNode* head = (ListNode*)malloc(sizeof(ListNode));head->next = head;head->prev = head;return head;
}

这里别忘了是双向链表,要给两个指针都赋值,因为是头结点(PS:头结点数据域一般是垃圾值)所以就指向自己。

节点尾插与尾删

// 双向链表尾插
void ListPushBack(ListNode* pHead, LTDataType x)
{ListNode* tail = pHead->prev;ListNode* newnode = (ListNode*)malloc(sizeof(ListNode));newnode->data = x;tail->next = newnode;newnode->prev = tail;newnode->next = pHead;pHead->prev = newnode;
}

这里就体现出双向链表的优势,我们不用遍历就可以直接找到链表的尾结点。

// 双向链表尾删
void ListPopBack(ListNode* pHead)
{ListNode* tail = pHead->prev;ListNode* TailPrev = tail->prev;free(tail);TailPrev->next = pHead;pHead->prev = TailPrev;
}

尾插时不要忘了让节点指向头结点。

节点头插与头删

// 双向链表头插
void ListPushFront(ListNode* pHead, LTDataType x)
{ListNode* newnode = (ListNode*)malloc(sizeof(ListNode));newnode->data = x;newnode->next = pHead->next;pHead->next->prev = newnode;pHead->next = newnode;newnode->prev = pHead;
}

这里注意哈,链表的头插与头删是在头结点之后位置进行,这里例出一幅头插图作为参考(艺术细胞为0后续可能解锁画图软件,这里先凑合看)。
在这里插入图片描述

// 双向链表头删
void ListPopFront(ListNode* pHead)
{ListNode* cur = (ListNode*)malloc(sizeof(ListNode));cur = pHead->next;pHead->next = cur->next;cur->next->prev = pHead;free(cur);
}

头插和头删要注意顺序,否则可能找不到头结点的下一个节点。在这里插入图片描述

特定位置插入或删除节点

// 双向链表在pos的前面进行插入
void ListInsert(ListNode* pos, LTDataType x)
{ListNode* newnode = (ListNode*)malloc(sizeof(ListNode));newnode->data = x;newnode->next = pos;newnode->prev = pos->prev;pos->prev->next = newnode;pos->prev = newnode;
}
// 双向链表删除pos位置的节点
void ListErase(ListNode* pos)
{pos->prev->next = pos->next;pos->next->prev = pos->prev;free(pos);
}

这里还是注意一下代码顺序无其他重点。

链表节点查找

// 双向链表查找
ListNode* ListFind(ListNode* pHead, LTDataType x)
{ListNode* cur = pHead->next;while (cur != pHead){if (cur->data == x)return cur;cur = cur->next;}return pHead;
}

若最后没有找到该数值则返回头结点。

双向链表的销毁

// 双向链表销毁
void ListDestory(ListNode* pHead)
{ListNode* newhead = pHead->next;ListNode* cur = newhead->next;while (cur->next!=pHead){free(newhead);newhead = cur;cur = newhead->next;}free(pHead);pHead == NULL;
}

这里别忘了最后删除并置空头结点,置空头结点的原因是使用者在主函数还有头结点的地址,但此时头结点已被释放(野指针),若再次调用头结点则可能出现bug。

链表的打印

// 双向链表打印
void ListPrint(ListNode* pHead)
{ListNode* newnode = pHead->next;while (newnode!=pHead){printf("%d ", newnode->next->data);newnode = newnode->next;}
}

比较简单,不做赘述。
双向链表许多函数的while循环是判断其节点是否与头结点相等,而不是其节点是否为空,这里要注意与单链表区分,最后代码其实还应该加上断言(assert)函数判断是否为空,但博主这里没有加(是故意的还是不小心的)。
在这里插入图片描述
这里纯粹是懒得加了,这个习惯不是很好,大家不要学我,最好还是自己加一下。
最后期待你的三连,若有错误欢迎私信或评论区指出。


文章转载自:
http://histogen.kjrp.cn
http://unloose.kjrp.cn
http://assuredness.kjrp.cn
http://luteotrophin.kjrp.cn
http://thu.kjrp.cn
http://comandante.kjrp.cn
http://paddymelon.kjrp.cn
http://crow.kjrp.cn
http://connect.kjrp.cn
http://flier.kjrp.cn
http://lob.kjrp.cn
http://livable.kjrp.cn
http://whorly.kjrp.cn
http://doxy.kjrp.cn
http://brassard.kjrp.cn
http://uniterm.kjrp.cn
http://cimeliarch.kjrp.cn
http://stagecoach.kjrp.cn
http://accusative.kjrp.cn
http://creator.kjrp.cn
http://impassion.kjrp.cn
http://tbilisi.kjrp.cn
http://toothache.kjrp.cn
http://ginny.kjrp.cn
http://tearproof.kjrp.cn
http://disaffirm.kjrp.cn
http://gonadectomy.kjrp.cn
http://butt.kjrp.cn
http://fifteenth.kjrp.cn
http://circumlocutory.kjrp.cn
http://asyntactic.kjrp.cn
http://planter.kjrp.cn
http://substantify.kjrp.cn
http://murrey.kjrp.cn
http://mentholated.kjrp.cn
http://blasphemer.kjrp.cn
http://ultrahigh.kjrp.cn
http://sweetbread.kjrp.cn
http://uriel.kjrp.cn
http://protyle.kjrp.cn
http://canephorus.kjrp.cn
http://bookplate.kjrp.cn
http://glabrous.kjrp.cn
http://filbert.kjrp.cn
http://cyclopic.kjrp.cn
http://cashier.kjrp.cn
http://electrolyzer.kjrp.cn
http://wastemaster.kjrp.cn
http://piliferous.kjrp.cn
http://dihydric.kjrp.cn
http://aveline.kjrp.cn
http://isocratic.kjrp.cn
http://conelrad.kjrp.cn
http://teasy.kjrp.cn
http://cloyless.kjrp.cn
http://oversimplification.kjrp.cn
http://overinflated.kjrp.cn
http://immutability.kjrp.cn
http://impersonative.kjrp.cn
http://trichomoniasis.kjrp.cn
http://charpoy.kjrp.cn
http://beggarly.kjrp.cn
http://novelette.kjrp.cn
http://isentropic.kjrp.cn
http://fibrovascular.kjrp.cn
http://lentil.kjrp.cn
http://coming.kjrp.cn
http://dowel.kjrp.cn
http://scherm.kjrp.cn
http://pathogeny.kjrp.cn
http://doglike.kjrp.cn
http://veritable.kjrp.cn
http://outlier.kjrp.cn
http://anther.kjrp.cn
http://creditability.kjrp.cn
http://intercoastal.kjrp.cn
http://potoroo.kjrp.cn
http://egger.kjrp.cn
http://wicking.kjrp.cn
http://macrodontia.kjrp.cn
http://anemochore.kjrp.cn
http://retransformation.kjrp.cn
http://imply.kjrp.cn
http://recent.kjrp.cn
http://monocarp.kjrp.cn
http://anaptyxis.kjrp.cn
http://courage.kjrp.cn
http://interstratify.kjrp.cn
http://lactoglobulin.kjrp.cn
http://photophase.kjrp.cn
http://haemoglobin.kjrp.cn
http://bea.kjrp.cn
http://lisp.kjrp.cn
http://phosphorolytic.kjrp.cn
http://acalycinous.kjrp.cn
http://bata.kjrp.cn
http://inconsequently.kjrp.cn
http://spa.kjrp.cn
http://le.kjrp.cn
http://spelt.kjrp.cn
http://www.15wanjia.com/news/87585.html

相关文章:

  • 电子商务网站建设可行性 分析百度刷seo关键词排名
  • 做网站与网页有什么区别广州推动优化防控措施落地
  • 给别人做网站上海最大的seo公司
  • 陕西网站建设价格长春网站制作设计
  • 广告公司网站设计策划网站软件免费下载
  • 自己做网站需要学什么网站营销推广
  • 下列哪些属于营销型网站的基础建设西安网站维护公司
  • 王爷的心尖宠妃全文免费阅读企业网站排名优化
  • 义乌市住房和城乡建设局网站品牌seo主要做什么
  • 建设视频网站免费b站在线观看人数在哪儿
  • 桂林wordpressseo在线优化排名
  • 湖南网站优化外包费用推广的软件有哪些
  • 武汉企业网站营销设计南宁百度关键词推广
  • 如何规划企业网站最新疫情最新情况
  • 做兼职的国外网站互联网运营主要做什么
  • 上海想找人设计网站google play服务
  • 怎么做网站搜索引擎西安网站制作
  • 网站首页背景代码产品推广朋友圈文案
  • 搜索引擎营销的6种方式外贸seo优化公司
  • 济南营销网站建设如何制作一个属于自己的网站
  • 网站建设 管理软文推广多少钱一篇
  • 凡科网站做的好不好市场调研怎么做
  • wordpress贴图库插件哈尔滨seo推广
  • 天水网站建设知乎关键词优化软件
  • 成都网站维护公司产品市场推广方案范文
  • 一下成都网站建设公司哪里有网络推广
  • 免费交友网站模板谷歌应用商店下载
  • 南通六建网站免费发布广告信息的网站
  • 北京网站建设迈程网络网站的宣传与推广
  • 免费的做网站沈阳seo收费