• 结构体与共用体04 零基础入门学习C语言56


    第十章:结构体与共用体04

     

    让编程改变世界

    Change the world by program


     

    链表例题讲解

      [caption id="attachment_187" align="aligncenter" width="263"] 链表例题[/caption]   今天,我们将以图文并茂的方式来展示链表的具体创建过程!! [caption id="attachment_188" align="aligncenter" width="288"] 链表原理[/caption]   我们约定学号不会为零,如果输入的学号为0,则表示建立链表的过程完成,该结点不应连接到链表中。 如果输入的p1->num不等于0,则输入的是第一个结点数据(n=1),令head=p1,即把p1的值赋给head,也就是使head也指向新开辟的结点p1所指向的新开辟的结点就成为链表中第一个结点。   再开辟一个结点并使p1指向它,并输入该结点的数据。 [caption id="attachment_189" align="aligncenter" width="300"] 链表原理[/caption] [caption id="attachment_190" align="aligncenter" width="300"] 链表原理[/caption] [caption id="attachment_191" align="aligncenter" width="300"] 链表原理[/caption]  

    对链表的删除操作

      从一个动态链表中删去一个结点,并不是真正从内存中把它抹掉,而是把它从链表中分离开来,只要撤销原来的链接关系即可。 [caption id="attachment_192" align="aligncenter" width="300"] 链表的删除操作[/caption]  

    随堂练习

    题目:写一函数以删除动态链表中指定的结点。  

    解题思路:

    一、从p指向的第一个结点开始,检查该结点中的num值是否等于输入的要求删除的那个学号。 二、如果相等就将该结点删除,如不相等,就将p后移一个结点,再如此进行下去,直到遇到表尾为止。 三、可以设两个指针变量p1和p2,先使p1指向第一个结点 。 四、如果要删除的不是第一个结点,则使p1后移指向下一个结点(将p1->next赋给p1),在此之前应将p1的值赋给p2 ,使p2指向刚才检查过的那个结点。 五、将以上几点我们综合得出算法流程图: [caption id="attachment_193" align="aligncenter" width="300"] 链表练习[/caption] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LBLVEDXIDOAO']视频下载[/Downlink]
  • 相关阅读:
    Linux中rsync备份数据使用实例
    8个Date命令使用示例
    Linux中如何使用alias命令
    在LVM中恢复已删除的逻辑卷
    使用Dmidecode获取硬件信息使用实例
    Linux系统使用SSH登录之前如何显示横幅消息
    在Linux中修改打开文件数量限制的3种方法
    Linux中监控磁盘分区和使用情况的几个工具
    如何解决Ubuntu提示没有找到ifconfig命令
    Linux中ip命令的使用实例
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846065.html
Copyright © 2020-2023  润新知