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

news/2024/7/7 13:25:19

第十章:结构体与共用体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]

转载于:https://www.cnblogs.com/LoveFishC/archive/2011/03/26/3846065.html


http://www.niftyadmin.cn/n/3843806.html

相关文章

Mysql中哪些sql 不会走索引

2019独角兽企业重金招聘Python工程师标准>>> 1. 索引列参与了计算 SELECT sname FROM stu WHERE age1030; 2. 索引使用了函数运算 SELECT sname FROM stu WHERE LEFT(date,4) <1990; 3. like SELECT * FROM houdunwang WHERE uname LIKE后盾% -- 走索引 SELECT *…

linux7.0权限设置

&#xff0e; 权限设置 拷贝文件/etc/fstab 到/var/tmp/fstab&#xff0c;配置文件/var/tmp/fstab 的权限为&#xff1a; cp /etc/fstab /var/tmp/fstab ll /var/tmp/ 长格式显示var/tmp/目录 文件/var/tmp/fstab 的所有者是 root 用户 文件/var/tmp/fstab 属于 root 组 所属者…

特殊的四位数

//特殊的四位数//输出所有四位数&#xff08;十进制&#xff09;中具有如下属性的数&#xff1a;//四位数字之和等于其十六进制形式各位数字之和&#xff0c;也等于七十二进制形式的各位数字之和#include <stdio.h>intmain(){intnum, tmp;for(num 1000; num <9999; nu…

Innodb undo之 undo物理结构的初始化

水平有限&#xff0c;如果有误请指出。 一直以来未对Innodb 的undo进行好好的学习&#xff0c;最近刚好有点时间准备学习一下&#xff0c;通过阿里内核月报和自己看代码的综合总结一下。本文环境&#xff1a; 代码版本 percona 5.7.22参数 innodb_undo_tablespaces 4 及使用了…

linux7.0创建下列用户和组

创建下列用户和组 创建admin组 上面已创建admin组这里不需要再创建 groupadd admin 名为 natasha 的用户&#xff0c;其属于 admin 组&#xff0c;该组是这个用户的附属组 因上面已创建natasha用户这里需要修改 usermod -G admin natasha 名为 harry 的用户&#xff0c;其属于 …

appscan-APP安全测试

众所周知&#xff0c;appscan是一款企业级应用安全漏洞扫描神器&#xff0c;但是很多刚刚接触的小伙伴经常会有这样的疑问&#xff1a;appscan怎么扫描移动应用&#xff08;也就是我们常说的APP&#xff09;。鉴于此&#xff0c;特作此文以供大家参考&#xff0c;文中有差错或纰…

[面试向]JS简单实现常见排序算法

为了面试, 几种常见算法简单好理解的写法, 不考虑空间复杂度之类的, 以升序为例, 概念来自百度 边界问题, 注意两点即可 数组起始index为0数组长度为<1即为有序var a [9,4,7,1,8,5,3,2,6,2] function swap(arr, x, y) {[arr[x], arr[y]] [arr[y], arr[x]] } 复制代码1. 冒…

Linux设备驱动程序学习(9)-与硬件通信

在学习有关I/O总线的内容时&#xff0c;最好先看看相关的知识&#xff1a;从PC总线到ARM的内部总线 I/O 端口和 I/O 内存 每种外设都是通过读写寄存器来进行控制。 在硬件层&#xff0c;内存区和 I/O 区域没有概念上的区别: 它们都是通过向在地址总线和控制总线发出电平信号来…