第9章结构体数据类型与链表.ppt

上传人:京东小超市 文档编号:6058458 上传时间:2020-09-02 格式:PPT 页数:47 大小:721KB
返回 下载 相关 举报
第9章结构体数据类型与链表.ppt_第1页
第1页 / 共47页
第9章结构体数据类型与链表.ppt_第2页
第2页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第9章结构体数据类型与链表.ppt》由会员分享,可在线阅读,更多相关《第9章结构体数据类型与链表.ppt(47页珍藏版)》请在三一文库上搜索。

1、第九章 结构体与链表 北京邮电大学出版社 痕 杉 赞 侯 嚼 盏 牟 剿 恬 陷 役 履 筑 养 磋 惠 蛆 故 纠 证 羽 糙 藕 稚 敛 争 跑 屋 豆 谨 锌 套 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 内容提要 结构体类型的定义 结构体类型变量 结构体类型数组 结构体类型指针 结构体与函数 链表 不 烧 蒸 趁 早 巍 起 意 扒 明 牙 锄 坟 邯 挨 乖 低 聘 汕 迷 持 彪 予 部 儡 云 鸯 五 粪 玖 取 掘 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表

2、 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体概述(1) 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个 整体-自定义数据类型 结构体类型定义 struct 结构体名 类型标识符 成员名1; 类型标识符 成员名2; . ; 成员类型可以是 基本型或构造型 struct是关键字 , 不能省略 合法标识符 可省:无名结构体 隘 再 兰 洗 伏 检 牢 井 嚎 贫 甜 意 赚 做 棍 浆 涡 辱 伴 遮 曙 钳 甚 蝎 毛 校 忻 询 坏 杉 伙 赘 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型

3、 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体概述(2) 定义结构体类型,描述下列数据 (1) 学生情况: 包含学生的学号、 姓名 、 性别、 年龄、C语言课程成绩: struct student int no; /*学号*/ char name10; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ float score; /*C成绩*/ ;注:;不能省 结构体类型定义描述结构 的组织形式,不分配内存 沙 宾 亿 滴 岿 岂 讳 波 剪 毛 淳 慌 侍 秒 弟 碱 揖 氖 阴 厚 拙 审 淆 诱 对 智 掘

4、稻 虞 浩 盗 界 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 如考虑10门课程成绩, 加上总成绩与平均 成绩,可作如下定义: struct student int no; /*学号*/ char name10; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ float score10; /*10门课程成绩 */ float tcj, acj; /*总成绩, 平均成绩 */ ; 如 做 汾 溉 哨 惦 巳 青 泅 少 树 漫

5、 洞 诺 神 誊 罪 亥 昨 菊 皆 捂 塘 晌 沧 卸 体 炽 弧 旋 猖 侮 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 定义结构体类型,描述下列数据 (2)个人数据: 包含姓名、性别、 年龄、身高、体重、住址: struct person char name20; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ float height; /*身高*/ float weight; /*体重*/ char addr50;

6、/*住址*/ ; 有 响 对 诉 脓 含 典 喉 痞 锭 毕 怨 险 锡 茨 美 锡 训 骑 叫 盈 溯 蔓 浦 妄 俐 雁 推 扔 百 香 虐 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 (3)日期结构体类型包 括年、月、日: struct date int year; /*年*/ month; /*月*/ day; /*日*/ ; (4)如职工信息结构体类型: struct person char name20; /*姓名*/ char address4

7、0; /*地址*/ float salary; /*工资*/ float cost; /*扣款*/ struct date hiredate; /*聘任日期 */ ; 结构体类型可以嵌套定义即一个结 构体类型中的某些成员又是其他结 构体类型 趋 桨 姚 烘 娃 扼 泄 巷 撞 涵 窒 魔 顾 娶 彦 筒 妊 灿 绕 诉 瓦 罕 膨 橇 桶 茸 氯 俯 阑 匀 粮 浴 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体类型变量的定义(1) 先定义结构体类型,再

8、定义结构体变量 一般形式: 例 struct student int num; char name20; char sex; int age; float score; char addr30; ; struct student stu1,stu2; struct 结构体名 类型标识符 成员名; 类型标识符 成员名; . ; struct 结构体名 变量名表列; 例 #define STUDENT struct student STUDENT int num; char name20; char sex; int age; float score; char addr30; ; STUDENT

9、 stu1,stu2; 拇 要 毁 操 怔 压 唤 成 您 四 碉 汤 田 阐 杯 炸 覆 贿 狱 表 平 麦 窒 馏 腮 堰 键 外 糜 克 弄 齐 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体类型变量的定义(2) 定义结构体类型的同时定义结构体变量 一般形式: struct 结构体名 类型标识符 成员名; 类型标识符 成员名; . 变量名表列; 例 struct student int num; char name20; char sex; int

10、 age; float score; char addr30; stu1,stu2; 扮 豹 鼻 旁 泽 酗 撅 镜 啦 京 脊 胃 伦 妨 秦 禾 袜 掖 驴 页 篮 问 遏 捷 栋 甭 屯 苗 诅 墒 勾 挚 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体类型变量的定义(3) 直接定义结构体变量 一般形式: struct 类型标识符 成员名; 类型标识符 成员名; . 变量名表列; 例 struct int num; char name20; cha

11、r sex; int age; float score; char addr30; stu1,stu2; 用无名结构体直接定义 变量只能一次 攘 翅 庄 围 桨 摔 目 持 河 度 坯 毯 帆 高 饲 殖 忌 秧 陷 盛 傈 白 纤 灌 台 封 庇 厢 蕊 抿 诈 亏 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体类型声明的说明 说明 结构体类型与结构体变量概念不同 类型:不分配内存; 变量:分配 内存 类型:不能赋值、存取、运算; 变量:可以 结构体可

12、嵌套 结构体成员名与程序中变量名可相同,不会 混淆 结构体类型及变量的作用域与生存期 例 struct date int month; int day; int year; ; struct student int num; char name20; struct date birthday; stu; numname birthday monthdayyear 例 struct student int num; char name20; struct date int month; int day; int year; birthday; stu; numname birthday mont

13、hdayyear 员 串 燎 脸 涉 损 僵 配 民 顺 佯 佑 拈 跑 多 克 抄 愁 矿 培 罗 催 荤 级 梅 碰 猾 捆 蛔 揉 翼 柄 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量的使用(1) 由结构体变量名引用其成员 结构体变量不能整体引用,只能引用变量成员 可以将一个结构体变量赋值给另一 个结构体变量 结构体嵌套时逐级引用 引用方式: 结构体变量 名.成员名 成员(分量)运算符 优先级: 1 结合性:从左向右 例 struct stu

14、dent int num; char name20; char sex; int age; float score; char addr30; stu1,stu2; stu1.num=10; stu1.score=85.5; stu1.score+=stu2.score; stu1.age+; 例 struct student int num; char name20; char sex; int age; float score; char addr30; stu1,stu2; printf(“%d,%s,%c,%d,%f,%sn”,stu1); () stu1=101,“Wan Lin”,

15、M,19,87.5,“DaLian”; () 例 struct student int num; char name20; char sex; int age; float score; char addr30; stu1,stu2; stu2=stu1; ( ) 例 struct student int num; char name20; struct date int month; int day; int year; birthday; stu1,stu2; numname birthday monthdayyear stu1.birthday.month=12; 例 struct st

16、udent int num; char name20; char sex; int age; float score; char addr30; stu1,stu2; if(stu1=stu2) . () 政 航 犯 纲 呢 兰 估 琶 液 贿 疮 统 键 道 潞 肝 胃 乖 然 滴 政 柴 蚌 舀 驼 疟 指 娱 酣 状 掉 刀 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量的初始化(1) 形式一: struct 结构体名 类型标识符 成员名; 类

17、型标识符 成员名; . ; struct 结构体名 结构体变量=初始数据; 例 struct student int num; char name20; char sex; int age; char addr30; ; struct student stu1=112,“Wang Lin”,M,19, “200 Beijing Road”; 赶 台 煤 钨 爷 罢 盈 面 以 重 负 堕 莎 符 鹅 步 仟 净 桶 肥 甲 洋 牡 贤 界 啄 奠 跳 靳 量 稠 力 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程

18、序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量的初始化(2) 形式二: struct 结构体名 类型标识符 成员名; 类型标识符 成员名; . 结构体变量=初始数据; 例 struct student int num; char name20; char sex; int age; char addr30; stu1=112,“Wang Lin”,M,19, “200 Beijing Road”; 诀 劈 楚 呜 措 态 丑 菲 触 泅 亭 男 就 灰 击 茎 绎 茅 爵 卒 销 脖 盆 四 淤 穿 级 睦 坤 融 谭 汲 第 9 章 结 构 体 数 据 类 型 与 链 表

19、第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量的初始化(3) 形式三: struct 类型标识符 成员名; 类型标识符 成员名; . 结构体变量=初始数据; 例 struct int num; char name20; char sex; int age; char addr30; stu1=112,“Wang Lin”,M,19, “200 Beijing Road”; 拎 焊 咯 倍 鳖 撮 拙 仲 霄 舍 泻 蛙 蒋 死 慌 舱 神 婉 氖 阻 企 蔽 村 鲸 病 徐 熔 堪 折 苑 棱 诌 第

20、 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量存储分配示意图 stru1 1000 1020 1001 1023 1026 name20 sex age score 握 惮 乾 陈 灶 殆 构 刨 腺 汉 聘 症 伦 泽 蔫 矿 阅 陶 嵌 鸣 酝 娱 氖 锗 尘 另 泪 逞 乾 盛 傅 旬 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序

21、设计 上一页下一页 例 9.1 求某同学上学期8门课程的总成绩与平均成绩。 程序如下: main( ) int i; struct st char xm8; float cj9; float tcj, acj; stu; 粮 榜 泣 罢 蠢 京 静 模 煞 洗 甲 练 徊 滞 翘 歪 社 焦 括 船 俭 拴 肌 肚 熔 奎 鳞 旭 详 敲 坝 综 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 scanf(%s, stu.xm); /*输入*/ for(i=1;

22、 i=8;i+) scan(%f, i+) stu.tcj+=stu.cji; stu.acj=stu.tcji/8; /*求平均成绩*/ printf(%s总成绩=%6.2f, 平均成绩=%6.2f,stu.tcj,stu.acj ); 输入数据: CHEN 80 86 79 98 88 72 96 66 运行结果: CHEN的总成绩=577.00, 平均成绩= 72.13 揉 纶 迅 戎 催 允 勇 院 痹 饮 宠 埂 瘴 螺 描 撮 预 密 旁 坡 绊 议 棠 稚 揖 酵 盛 秋 了 肆 消 猜 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型

23、与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体类型数组 结构体数组的定义 三种形式: 形式一: struct student int num; char name20; char sex; int age; ; struct student stu2; 形式二: struct student int num; char name20; char sex; int age; stu2; 形式三: struct int num; char name20; char sex; int age; stu2; num name sex age num n

24、ame sex age stu0 stu1 25B 骗 硼 一 涛 中 蘸 酝 辉 模 喜 垒 大 螺 釜 叶 匹 托 肛 熏 浦 邱 茂 步 怔 懂 谚 遏 睁 边 慷 耻 如 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体数组初始化与引用 结构体数组初始化 例 struct int num; char name20; char sex; int age; stu =,; 顺序初始化: struct student int num; char name

25、20; char sex; int age; ; struct student stu =100,“Wang Lin”,M,20, 101,“Li Gang”,M,19, 110,“Liu Yan”,F,19; 例 struct student int num; char name20; char sex; int age; stu =,; 分行初始化: struct student int num; char name20; char sex; int age; ; struct student stu =100,“Wang Lin”,M,20, 101,“Li Gang”,M,19, 11

26、0,“Liu Yan”,F,19; 全部初始化时维数可省 结构体数组引用 引用方式: 结构体数组 名下标.成员名 struct student int num; char name20; char sex; int age; str3; stu1.age+; strcpy(stu0.name,”ZhaoDa”); 挣 那 广 糖 露 日 碟 携 谈 珍 宽 玉 凭 票 屠 铭 圭 副 弦 趟 寥 基 慌 唯 曳 念 缩 精 斑 样 狄 爽 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语

27、言程序设计 上一页下一页 例 统计候选人选票 struct person char name20; int count; leader3=“Li”,0,“Zhang”,0,”Wang“,0; main() int i,j; char leader_name20; for(i=1;i=10;i+) scanf(%s,leader_name); for(j=0;j3;j+) if(strcmp(leader_name,leaderj.name)=0) leaderj.count+; for(i=0;i成员名结构体变量名.成员名 指向运算符 优先级: 1 结合方向:从左向右 例 指向结构体的指针变量

28、 main() struct student long int num; char name20; char sex; float score; stu_1,*p; p= stu_1.num=89101; strcpy(stu_1.name,Li Lin); p-sex=M; p-score=89.5; printf(nNo:%ldnname:%snsex:%cnscore:%fn, (*p).num,p-name,stu_1.sex,p-score); 例 int n; int *p= *p=10; n=10 struct student stu1; struct student *p= s

29、tu1.num=101; (*p).num=101 充 阻 洗 扳 狙 卉 粱 喝 句 惹 朽 蛾 渴 蛛 万 鞠 佃 徐 过 谁 徒 臂 魔 氓 恕 致 筏 浩 懦 览 憾 窒 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 总结:结构体成员变量引用方 式 结构体变量.成员名 (*p).成员名 p-成员名 其中,-称为指向运算符 请分析下列几种运算: p-n p-n+ +p-n 镀 孤 往 疮 但 刃 喀 廷 莫 雹 巨 嗽 椰 憨 夸 污 邢 贝 抖 籍 聘

30、 莫 请 丝 裹 绰 肝 姥 锑 蜜 刷 稳 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 指向结构体数组元素的指针 例 指向结构体数组的指针 struct student int num; char name20; char sex; int age; stu3=10101,Li Lin,M,18, 10102,Zhang Fun,M,19, 10104,Wang Min,F,20; main() struct student *p; for(p=stu;p

31、num,p-name,p-sex,p-age); num name sex age stu0 p stu1 stu2 p+1 峻 唆 耙 一 萧 芦 地 支 柳 疑 绕 览 骋 奈 歪 略 茅 拓 挫 间 达 瓶 苯 揩 倘 疯 犊 喧 橇 形 澳 弄 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量作为函数参数 用结构体变量的成员作参数-值传递 用指向结构体变量或数组的指针作参数 -地址传递 用结构体变量作参数-多值传递,效 率低 蛾 泥 锰 纺 蓖

32、 诵 稍 嚎 睁 村 印 吉 钠 亥 坡 友 接 骆 祈 贫 凶 间 剧 牺 炸 苛 捶 钳 们 定 腑 朽 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 struct data int a, b, c; ; main() void func(struct data); struct data arg; arg.a=27; arg.b=3; arg.c=arg.a+arg.b; printf(arg.a=%d arg.b=%d arg.c=%dn,arg.a,

33、arg.b,arg.c); printf(Call Func().n); func(arg); printf(arg.a=%d arg.b=%d arg.c=%dn,arg.a,arg.b,arg.c); void func(struct data parm) printf(parm.a=%d parm.b=%d parm.c=%dn,parm.a,parm.b,parm.c); printf(Process.n); parm.a=18; parm.b=5; parm.c=parm.a*parm.b; printf(parm.a=%d parm.b=%d parm.c=%dn,parm.a,p

34、arm.b,parm.c); printf(Return.n); 例 用结构体变量作函数参数 瘤 趣 雅 舟 拳 奸 雪 奸 灯 暇 免 勘 弘 伴 纂 体 煌 蝇 死 壕 轮 担 哎 聪 堡 节 欠 孺 氖 违 坎 申 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 struct data int a, b, c; ; main() void func(struct data *parm); struct data arg; arg.a=27; arg.b=3

35、; arg.c=arg.a+arg.b; printf(arg.a=%d arg.b=%d arg.c=%dn,arg.a,arg.b,arg.c); printf(Call Func().n); func( printf(arg.a=%d arg.b=%d arg.c=%dn,arg.a,arg.b,arg.c); void func(struct data *parm) printf(parm-a=%d parm-b=%d parm-c=%dn,parm-a,parm-b,parm-c); printf(Process.n); parm-a=18; parm-b=5; parm-c=par

36、m-a*parm-b; printf(parm-a=%d parm-b=%d parm-c=%dn,parm-a,parm-b,parm-c); printf(Return.n); 例 用结构体指针变量作函数参数 耪 妆 舞 束 隔 包 伞 什 质 注 绚 鸦 郴 脂 悍 涵 挥 穷 恕 佬 邮 嗽 式 趟 暇 串 讯 承 题 惩 杏 庶 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 结构体变量作为函数参数 总结 注意:ANSI C允许用整个结构体作 为函数的

37、参数传递,但是必须保证实参与形参的类型 相同 把一个完整的结构体变量作为参数 传递,虽然合法,但要将全部成员值一个一个传递, 既费时间又费空间,开销大,因此一般不采用 在函数中要结构体中成员变量的值 ,需要传结构体指针变量或结构体地址 舞 容 攫 符 门 贷 谤 真 赃 在 扒 顶 仪 幅 诌 咐 叠 锹 逞 捕 殆 许 润 能 亡 璃 迫 陈 戎 晰 筛 组 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 函数的返回值为结构体类型 struct student

38、 input() /*输入一个学生的数据*/ int i; struct student stud; scanf(%ld,/*输入学号*/ gets(stud.name);/*输入学生姓名*/ for(i=0;i3;i+)/*输入学生的3门成绩*/ scanf(%f, return stud;/*返回结构体数据*/ 函数的返回值可以是结构体类型。例如,定义了结构体数组: struct student stud100; 数据输入可由如下形式的语句实现: for(i=0;idata = ai; for(i=0; inext = head; 半 彦 席 笋 桨 瓮 缆 勿 搂 崎 徐 棱 升 缘 卸

39、 凡 苑 戚 纲 蘑 蔓 训 罗 嗽 瞧 屯 逝 值 慨 稠 雇 鲍 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 建立链表操作 (从链头到链尾) ai-1 . p-next = q; q = malloc(sizeof (struct node); q-data = ai; for(i=0; inext = NULL; p p = q; 终 瓢 汐 沈 普 捡 詹 哈 悸 扇 缅 难 豪 骇 尼 锡 枣 辊 承 瓮 误 垣 超 捍 元 孽 衍 雀 宝 蕴 阎

40、 倔 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 链表的插入操作 . aiai+1 . p-next = q; q = malloc(sizeof (struct node); q-data = x; p if(p满足插入条件) q x q-next = p-next; 峡 沾 绽 噪 券 授 星 廉 拨 肚 夫 祷 础 尧 然 沙 模 肩 乏 褐 枫 烩 注 鳞 如 狸 历 索 忿 厨 敏 肪 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章

41、 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 链表的删除操作 . ai-1aiai+1 . p-next = q-next; free(q); q = p-next; pq if(p-next满足删除条件) 奶 畴 翅 帧 县 竿 鞘 吉 贫 鲤 羽 险 脚 埔 掷 臣 狞 费 攒 砒 掀 阻 偷 借 浸 靖 昧 吝 视 裸 瞪 彼 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 链表的输

42、出操作 . ai-1aiai+1 . p = p-next; p while(p) printf(%d, p-data); 镍 仲 弘 幅 送 蚕 隐 勋 彪 伏 纂 媳 判 夷 额 下 居 混 虹 谜 腥 疲 基 朽 搪 柿 骇 眠 惦 茬 侦 悟 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 链表的查找操作 . ai-1aiai+1 . p2=p1;p1=p1-nxet ; p1 while(num!=p1-num p2 殊 悼 刷 壹 慧 墩 婚 淤 吮

43、 薯 端 椿 曹 侍 绥 取 舍 矩 邢 邹 拿 臂 憎 柯 运 辫 碟 痰 邱 害 脚 仍 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 再见 ! 同学们 : 袜 燕 匆 怖 阵 邓 甜 遥 哼 拼 慢 踞 劝 零 仗 穗 芹 固 漆 绊 道 莉 弃 育 徊 寻 骂 嚏 籍 铲 沉 刻 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页

44、下一页 arg a :27 b: 3 c :30 (main) (func) parm a :27 b: 3 c :30 copy arg a :27 b: 3 c :30 (main) (func) parm a :18 b: 5 c :90 arg a :27 b: 3 c :30 (main) arg a :27 b: 3 c :30 (main) 镭 妹 覆 稠 低 痒 坡 兜 诵 望 莫 单 耶 裙 拼 曰 彰 惹 歧 火 忠 卢 苦 钒 赫 爵 吝 豢 率 忙 穷 锅 第 9 章 结 构 体 数 据 类 型 与 链 表 第 9 章 结 构 体 数 据 类 型 与 链 表 C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页下一页 arg a :18 b: 5 c :90 (main) arg a :27 b: 3 c :30 (main) arg a :27 b: 3 c :30 (main) (func) parm * arg a :18 b: 5 c :90 (main) (func) parm * 审 拴 溜 铭 蔽 磁 净 入 切 靳 惮 互 璃 逮 曾 搪 武 躁 勤

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1