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

php的网站优化水平

php的网站,优化水平,哪个免费建站好,怎样用zblog做网站上篇博客我将基础的尾插、尾删、头插、头删逐一讲解了,这篇博客将对上篇博客进行收尾,讲一下指定位置操作增删以及查找这几个函数,其实大同小异:一.查找函数:查找函数其实就是一个简单的循环遍历,所以不加以…

       上篇博客我将基础的尾插、尾删、头插、头删逐一讲解了,这篇博客将对上篇博客进行收尾,讲一下指定位置操作增删以及查找这几个函数,其实大同小异:

一.查找函数:

查找函数其实就是一个简单的循环遍历,所以不加以过多赘述:

SLTNode* SLTFind(SLTNode* phead, SLTDataType x)
{SLTNode* cur = phead;while (cur){if (cur->data == x){return cur;}cur = cur->next;}return NULL;
}

二.指定位置前插入函数:

void SLTInsert(SLTNode** pphead, SLTNode* pos, SLTDataType x)
{assert(pos);assert(pphead);if (pos == *pphead){SLTPushFront(pphead, x);}else{//找到pos前一个位置:SLTNode* prev = *pphead;while (prev->next != pos){prev = prev->next;}SLTNode* newnode = BuySLTNode(x);prev->next = newnode;newnode->next = pos;}
}

代码解释:

  1. 头插特殊处理

    if (pos == *pphead)
    {SLTPushFront(pphead, x);
    }
    
    • 若在头节点前插入,调用专门的头插函数
    • 确保头指针正确更新
  2. 查找前驱节点

    SLTNode* prev = *pphead;
    while (prev->next != pos)
    {prev = prev->next;
    }
    
    • 从头节点开始遍历,寻找pos的前驱节点
    • pos是头节点,此循环不会执行
  3. 插入新节点

    SLTNode* newnode = BuySLTNode(x);
    prev->next = newnode;
    newnode->next = pos;
    

    • 创建新节点并连接到链表中
    • 指针操作顺序正确,不会破坏链表结构

三.在指定位置删除函数:

void SLTErase(SLTNode** pphead, SLTNode* pos)
{assert(pphead);assert(pos);if (*pphead == pos){SLTPopFront(pphead);}else{//找到pos前一个位置;SLTNode* prev = *pphead;while (prev->next != pos){prev = prev->next;}prev->next = pos->next;free(pos);}
}

代码解释:

  1. 头删特殊处理

    if (*pphead == pos)
    {SLTPopFront(pphead);
    }
    

    • 若删除头节点,调用专门的头删函数
    • 确保头指针正确更新
  2. 查找前驱节点

    SLTNode* prev = *pphead;
    while (prev->next != pos)
    {prev = prev->next;
    }
    

    • 从头节点开始遍历,寻找pos的前驱节点
    • pos是头节点,此循环不会执行
  3. 删除节点

    prev->next = pos->next;
    free(pos);
    
    • 调整前驱节点指针跳过pos
    • 释放pos节点的内存

四.指定位置之后插入函数:

void SLTInsertAfter(SLTNode* pos, SLTDataType x)
{assert(pos);SLTNode* newnode = BuySLTNode(x);newnode->next = pos->next;pos->next = newnode;
}

较为简单,不加以赘述;

五.指定位置之后删除函数:

void SLTEraseAfter(SLTNode* pos)
{assert(pos);assert(pos->next);SLTNode* del = pos->next;pos->next = del->next;free(del);del = NULL;
}

较为简单,不加以赘述;

六.函数复用:

当写出指定位置操作的几个函数以后,之前的那几个操作函数就可以直接套用指定位置的函数;

具体位置怎么设定留给你们自己思考一下,函数的复用我会在下一篇双向链表花一定的篇幅。

其实,要想快速的写出链表,都是先写指定位置函数,然后再去复用实现头尾的操作。

      单链表一开始理解确实是有点困难的,但是一旦理解了以后,后续的双向链表之类的就变得简单了。虽然链表有很多种类,但是只要理解了单链表以后,其他的除了结构比单链表复杂以外难度远不及单链表!!!

http://www.dtcms.com/wzjs/518629.html

相关文章:

  • 可以做盗版漫画网站吗网络营销策划案
  • 菜单宣传网站怎么做如何联系百度人工客服电话
  • it外包公司可以进吗优化网站制作方法大全
  • 国企网站的建设2023b站免费推广入口
  • 医院网站建设的目的网页设计制作网站教程
  • 东莞虎门最新疫情最新消息西安网站优化公司
  • 网站怎么做百科网络营销的具体形式种类
  • 网站后台怎么做超链接酒吧营销用什么软件找客源
  • 一个最简单的产品展示的asp网站应该如何做一份完整的电商运营方案
  • 电子商务网站设计与网络营销实验莆田网站建设优化
  • 网站建设宝安郑州seo课程
  • 丹阳建站在线刷高质量外链
  • 余姚网站制作seo排名推广
  • 下载官方购物网站公司网站制作要多少钱
  • 苏州市城乡建设局网站福建企业seo推广
  • 淘宝网那样的网站模板做百度推广的公司电话号码
  • 天津住房和城乡建设委员会官方网站香港疫情最新情况
  • 西安网站开发公司排行榜媒体吧软文平台
  • 部门网站建设管理报告代写1000字多少钱
  • 网站备案最多需要多久如何推广自己产品
  • html5网站是用什么软件做的成都关键词优化服务
  • 织梦网站怎样做百度主动推送曲靖seo建站
  • 广州英文网站建设著名营销策划公司
  • 怎样做网站 知乎seo基础优化包括哪些内容
  • 韶关做网站的公司快手刷粉网站推广
  • 沈阳高端网站seo在线优化工具
  • 金融公司网站 html申请一个网站
  • 品牌查询网站关键词搜索工具爱站网
  • 烟台网站建设策划方案seo在线培训
  • 网站设计布局的重要性公司网络推广