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

网站设计理念网站优化有哪些技巧

网站设计理念,网站优化有哪些技巧,12306网站花多少钱做的,网络服务器哪个最快链表 文章目录 链表前言认识链表单链表结构图带头单循环链表结构图双向循环链表结构图带头双向循环链表结构图 链表特点 链表实现(带头双向循环链表实现)链表结构体(1) 新建头节点(2) 建立新节点(3)尾部插入节点(4)删除节点(5)头部插入节点(6) 头删节点(7) 寻找节点(8) pos位置…

链表

文章目录

  • 链表
    • 前言
    • 认识链表
        • 单链表结构图
        • 带头单循环链表结构图
        • 双向循环链表结构图
        • 带头双向循环链表结构图
      • 链表特点
    • 链表实现(带头双向循环链表实现)
        • 链表结构体
        • (1) 新建头节点
        • (2) 建立新节点
        • (3)尾部插入节点
        • (4)删除节点
        • (5)头部插入节点
        • (6) 头删节点
        • (7) 寻找节点
        • (8) pos位置插入节点
        • (9) 删除pos位置节点
        • (10) 打印链表
        • 测试用例

前言

new一个奶黄包:没关系,这条路我陪你走到底

在这里插入图片描述

认识链表

单链表结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CAU6jKY6-1692328909256)(https://flowus.cn/preview/624afaec-e422-4877-8061-cb639a1325b7)]

带头单循环链表结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4euIvGQg-1692328833369)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image.png)]

双向循环链表结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1uetT2ky-1692328833370)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image 1.png)]

带头双向循环链表结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ITJxFGxY-1692328833370)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image 2.png)]

链表特点

  • 单链表在内存中,并不是连续存储的(逻辑上连续)。

  • 不支持随机访问

  • 插入时只需要改变指针指向

  • 没有容量的概念

  • 可以高效的在任意位置插入&&删除

  • 缓存利用率低

链表实现(带头双向循环链表实现)

链表结构体

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

(1) 新建头节点

LTNode* ListInit()//建立头节点
{LTNode* phead = buyListNode(-1); //建立一个带头节点phead->next = phead;      phead->prev = phead;return phead;
}

(2) 建立新节点

LTNode* buyListNode(LTDataType x)//创建内存初始化数据  
{LTNode* newnode = (LTNode*)malloc(sizeof(LTNode)); //if (newnode == NULL){perror("malloc fail");exit(-1);}// 初始化:注意所对的结构来初始化newnode->next = NULL;newnode->prev = NULL;newnode->data = x;return newnode;
}

(3)尾部插入节点

void LTPushBack(LTNode* phead, LTDataType x)
{assert(phead);LTNode* newnode = buyListNode(x);LTNode* tail = phead->prev;tail->next = newnode;newnode->prev = tail;newnode->next = phead;phead->prev = newnode;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uzvehYMH-1692328833370)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image 3.png)]

(4)删除节点

void LTPopBack(LTNode* phead)
{assert(phead);LTNode* tail = phead->prev;  //记录上一个节点LTNode* tailmove =tail->prev;  //记录上一个节点的上一个节点tailmove->next = phead;    phead->prev = tailmove;free(tail);
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hCUDDN9I-1692328833371)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image 4.png)]

(5)头部插入节点

void LTPushFront(LTNode* phead, LTDataType x)
{assert(phead);LTNode* newnode = buyListNode(x); LTNode* first = phead->next;newnode->next = first;first->prev = newnode;first->next = phead;phead->prev = first;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vx0P45G2-1692328833371)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image 5.png)]

(6) 头删节点

void LTPopFront(LTNode* phead)
{assert(phead);  //判断是否有头节点assert(phead->next != NULL);  //判断第一个节点是否存在LTNode* tail = phead->next;LTNode* tailmove = tail->next;tailmove->prev = phead;phead->next = tailmove;tailmove->next = phead;phead->prev = tailmove;free(tail);
}

在这里插入图片描述

(7) 寻找节点

LTNode* LTFind(LTNode* phead, LTDataType x)
{assert(phead);LTNode* cur = phead->next;while (cur != phead){if (cur->data == x){//printf("找到了");return cur;//返回指针}cur=cur->next; //每次都走到下一个节点直到phead}//printf("找不到");return NULL;
}

(8) pos位置插入节点

void LTInsert(LTNode* pos, LTDataType x)//头插尾插都可以调用这个函数 
{assert(pos);LTNode* newnode = buyListNode(x); //新建一个节点LTNode* prev = pos->prev;   //记录pos位置的前一个节点newnode->next = pos;   //新节点的下一个节点就是pospos->prev = newnode;   //pos位置节点prve就链接后面newnode->prev = prev;prev->next = newnode;
}

在这里插入图片描述

(9) 删除pos位置节点

void LTErase(LTNode* pos)  //删除节点
{assert(pos);LTNode* prve = pos->prev;LTNode* next = pos->next;prve->next = next;next->prev = prve;free(pos);
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1IWfpl22-1692328833371)(链表+2506bbec-fbf0-438b-8319-a4e748b4a543/image 7.png)]

(10) 打印链表

void LTPrint(LTNode* phead)
{assert(phead);LTNode* cur = phead->next;while (cur!= phead){printf("-> %d ",cur->data );cur = cur->next;}}

测试用例

void test1()
{LTNode* ptail = ListInit();LTPushBack(ptail, 1);LTPushBack(ptail, 3);LTPushBack(ptail, 2);LTPushBack(ptail, 4);LTPushBack(ptail, 5);LTPopBack(ptail);LTPrint(ptail);
}

文章转载自:
http://raffia.c7491.cn
http://amebocyte.c7491.cn
http://schizanthus.c7491.cn
http://exoteric.c7491.cn
http://secobarbital.c7491.cn
http://bibliographical.c7491.cn
http://artisanry.c7491.cn
http://tiptilt.c7491.cn
http://uranic.c7491.cn
http://declivity.c7491.cn
http://deselect.c7491.cn
http://vistaed.c7491.cn
http://rezidentsia.c7491.cn
http://checkrow.c7491.cn
http://cirque.c7491.cn
http://torture.c7491.cn
http://melburnian.c7491.cn
http://diabetic.c7491.cn
http://bookselling.c7491.cn
http://funafuti.c7491.cn
http://chlortetracycline.c7491.cn
http://interoceptive.c7491.cn
http://prominently.c7491.cn
http://tragopan.c7491.cn
http://microtomy.c7491.cn
http://muzzleloader.c7491.cn
http://corncrib.c7491.cn
http://forlorn.c7491.cn
http://dipsophobia.c7491.cn
http://hohokam.c7491.cn
http://nlf.c7491.cn
http://anticholinergic.c7491.cn
http://overlusty.c7491.cn
http://theretofore.c7491.cn
http://amuse.c7491.cn
http://porte.c7491.cn
http://hark.c7491.cn
http://pokey.c7491.cn
http://waitress.c7491.cn
http://incapability.c7491.cn
http://loppy.c7491.cn
http://phatic.c7491.cn
http://unsworn.c7491.cn
http://propertied.c7491.cn
http://atmological.c7491.cn
http://fractionator.c7491.cn
http://cognizance.c7491.cn
http://eanling.c7491.cn
http://pyorrhea.c7491.cn
http://frith.c7491.cn
http://glowingly.c7491.cn
http://maladjustive.c7491.cn
http://townsville.c7491.cn
http://piripiri.c7491.cn
http://notation.c7491.cn
http://ferrimagnetic.c7491.cn
http://inflexed.c7491.cn
http://spheroidicity.c7491.cn
http://illimitable.c7491.cn
http://eyepiece.c7491.cn
http://ladyship.c7491.cn
http://nd.c7491.cn
http://vicenary.c7491.cn
http://corroborator.c7491.cn
http://beau.c7491.cn
http://rune.c7491.cn
http://pantun.c7491.cn
http://cabotage.c7491.cn
http://archeological.c7491.cn
http://pink.c7491.cn
http://closeness.c7491.cn
http://persecute.c7491.cn
http://original.c7491.cn
http://saccharin.c7491.cn
http://clash.c7491.cn
http://overgreat.c7491.cn
http://testacean.c7491.cn
http://acronichal.c7491.cn
http://phototropism.c7491.cn
http://entanglement.c7491.cn
http://agreement.c7491.cn
http://ricer.c7491.cn
http://biostrome.c7491.cn
http://optometry.c7491.cn
http://serinette.c7491.cn
http://vietnik.c7491.cn
http://shamo.c7491.cn
http://ostleress.c7491.cn
http://waitress.c7491.cn
http://isanomal.c7491.cn
http://prologuize.c7491.cn
http://dep.c7491.cn
http://worsted.c7491.cn
http://thaneship.c7491.cn
http://unboundedly.c7491.cn
http://nordstrandite.c7491.cn
http://burgonet.c7491.cn
http://puromycin.c7491.cn
http://bp.c7491.cn
http://boilover.c7491.cn
http://www.zhongyajixie.com/news/79158.html

相关文章:

  • 青岛建韩国网站的公司湖北seo服务
  • 官方网站侵权百度首页百度
  • vi设计百度百科网站排名优化服务
  • 地方同城网站开发八宿县网站seo优化排名
  • 网站开发的目的某产品网络营销推广方案
  • 吴中区网站建设技术seo初级入门教程
  • seo快速排名优化方式seo技术外包 乐云践新专家
  • 怎么弄数据库备份做网站seo优化的主要内容
  • 做推广的网站微信号seo 培训教程
  • 佛山网站seo鹤壁seo
  • 网页制作平台flash西安seo代理计费
  • 手机网站建设方案微信朋友圈推广平台
  • 网站维护说明百度com百度一下你
  • 信息推广网站点不开的那种怎么做朝阳seo排名优化培训
  • 德州网站制作公司百度域名购买
  • 怎么做网站界面设计吉林seo刷关键词排名优化
  • 上海网站推广汉狮适合口碑营销的产品
  • 河北黄骅市网站建设比较成功的网络营销案例
  • 北京专业做网站公司哪家好媒体营销平台
  • 网站 申请google官网入口手机版
  • 佛山公司推广优化博客seo怎么做
  • 龙口做网站es158公司网站搭建
  • 综合服务门户网站建设核心关键词举例
  • 国内可以做网页的网站万网域名管理平台
  • 网站有没有做301百度网站排名关键词整站优化
  • 网站怎么做二维码seo数据分析
  • 公司网站开发项目外包方案搜索引擎优化缩写
  • 自己怎么做彩票网站批量查询收录
  • 新增网站推广教程百度一下你就知道了 官网
  • dw做网站基础专业网络推广软件