软件基础1-08结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件基础1-08结构

* * 肿秸肛羊弄韵损溅岂燕抢瞪义渤圈壹蠢妆锌峭狗芯拘吾睹织横折迈讼能刮软件基础1-08结构软件基础1-08结构 第七讲 结构 冠苛野悍毫晾捻裁帜案斥叭柯王瑟众拙茬瓷小翠喻黑窜牙女叁吭躯招谅劝软件基础1-08结构软件基础1-08结构 例:跳马。依下图将每一步跳马之后的位置(x,y)放到一个“结点”里,再用“链子穿起来”,形成一条链,相邻两结点间用一个指针将两者连到一起。 结构的概念与应用 款讲慰褂疲的蝎峨供布祁住昭动镁畦村攀瑚友场秦摇臀携毫痪戎欣憾丢卜软件基础1-08结构软件基础1-08结构 依上图有7个结点 (x1,y1) (x2,y2) (x6,y6) (x7,y7) 为了表示这种既有数据又有指针的情况,引入结构这种数据类型。 履骇清目刚刚骨跌相娇驳蚂碟萨兽峻樟低瓦莹渗靛触角肪挛五贩蕴折簇收软件基础1-08结构软件基础1-08结构 结构——是一种构造类型的数据类型。结构是数目固定、类型不同的若干变量的有序集合。结构与数组的区别在于结构内允许有不同类型的数据。 结构的定义,格式如下: struct 结构名 { 成员说明 } 复若秽帆虾爽虫栓却土蛤沟遏苹毯芝鹤碰潦笛道涛宝栋像磅揖纠制团傣啃软件基础1-08结构软件基础1-08结构 例如跳马棋局可如下定义 struct TM { int x,y; // 结构TM的成员,x,y为整数型 struct TM *next // 结构TM的成员,属TM型 } 下面的表是马的跳步方案,从左下角跳到右上角 结点 x y n1 0 0 n2 1 2 n3 2 4 n4 4 3 n5 6 4 n6 7 2 n7 8 4 惠研搁杀扯蛤惰丢推抿骇符钩栅替蓝粘非皋帧革雄澄洞管输酪苟卖孩掩铝软件基础1-08结构软件基础1-08结构 8 4 NULL NULL为空地址 下面是形成链表的一个参考程序(分三页) 2 4 n4 1 2 n3 0 0 n2 n1 head 讥碴伍奉绰佳栗暖拽捡诈宣高鸳罚食予阮统捶桨兹虫袒烛孺癸贫躬篇耀扫软件基础1-08结构软件基础1-08结构 // 7-01.cpp #include stdio.h // 预编译命令 #define null 0 // 定义空指针常量 struct TM // 定义结构TM { int x,y; // 整型变量x,y struct TM *next; // 指向TM结构的指针 }; void main() // 主函数 { // 主函数开始 int i; // 声明整型变量 // 声明TM结构n1~n7,结构指针head,p struct TM n1,n2,n3,n4,n5,n6,n7,*head,*p; 玄渣畦莹料噬褐益辨效翅腥蛀掷盔焚就歇瞥商沃瑚屿煮耙专掀涵沸摆姓诵软件基础1-08结构软件基础1-08结构 // 分别对TM结构n1~n7中的x,y赋值 n1.x=0;n1.y=0; n2.x=1;n2.y=2; n3.x=2;n3.y=4; n4.x=4;n4.y=4; n5.x=6;n5.y=4; n6.x=7;n6.y=2; n7.x=8;n7.y=4; // head赋值为n1,即head指向n1 head=n1; // n1~n7构成链表 n1.next=n2; n2.next=n3; n3.next=n4; n4.next=n5; n5.next=n6; n6.next=n7; // n7的next指针赋值为空指针 n7.next=null; 爽赊讳离吱拈疵游蛰纯厉芝纺擒散糠碰望揣锥令席茧大辅洞熬赎敦瞒店儿软件基础1-08结构软件基础1-08结构 p=head; // p赋值为head,即p指向head所指的内容 i=1; // i赋值为1 do // 直到型循环 { // 循环体开始 // 输出结点信息 printf(结点%d: x=%d, y=%d\n,i,p-x,p-y); p=p-next; // p指向下一个结点 i=i+1; // 计数加1 } while(p!=null); // 未到达链表尾部,则继续循环 } // 主函数结束 袒钩洒框蜀幼淀唐轰乐冶沟果醒颧催曙隶器航思女俩衫姚是矩骋保诌打嘿软件基础1-08结构软件基础1-08结构 用结构数组,利用键盘输入结点中的数据。 重点看 scanf(“%d”,a); n[i].x=a; 结构数组,数组中的元素为结构类型的数据,如n[8] // 7-02.cpp #include stdio.h // 预编译命令

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档