ImageVerifierCode 换一换
格式:PPT , 页数:32 ,大小:188KB ,
资源ID:1024539      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1024539.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构-结构和联合.ppt)为本站会员(cjc2202537)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

数据结构-结构和联合.ppt

1、三、结构变量赋值 数组不能彼此赋值,但同类型的结构变量可以彼此赋值。 例如下面程序对结构变量赋值: #include struct person char name20; unsigned long id; float salary; person pr1“Li ming”, 1082422, 5300.0; void main( ) person pr2; pr2=pr1; /assigning pr1 to pr2coutpr2.name“ ”pr2.id“ ”pr2.salarysalary.,在使用指针访问成员时,通常使用箭头操作符“-”。例如:下面程序中,定义了结构指针,通过结构指针

2、访问结构成员。 #include #include struct person char name20; unsigned long id; float salary; ; void main( ) person pr1; person *p; p= ,结果为:Wang ming 12345678 4800.0,如果一个数组的元素是同一种结构类型的变量,那么这种数组称为结构数组。 要定义一个结构数组,必须先定义一个结构类型,然后再定义具有这种结构类型的一个数组。 例如,定义一个包含100个元素的person 结构数组: struct person char name20; unsigned l

3、ong id; float salary; person allone100;,9.3 结构与数组,数组中每个元素是一个完整的结构变量,它包含name、id、salary三个成员分量。 allone0 访问第一个数组元素; allone99访问最后一个数组元素。例如:下面程序对一个person 结构数组中的元素进行“冒泡法”排序,工资高的排在后面。 #include struct person char name20; unsigned long id; float salary; ;,person allone6=“jone”,12345,3390.0, “david”,13916,4490

4、.5, “marit”,27519,3110.0, “jasen”,42876,6230.5, “peter”,23987,4000.2, “yoke”,12335,5110.0;void main( ) person temp; for(int i=1; iallonej+1.salary) /工资高的后移 temp=allonej; allonej=allonej+1; allonej+1=temp; ,for(int k=0;k6;k+) coutallonek.name“ ” allonek.id“ ” allonek.salaryendl;,运行结果为:marit 27519 311

5、0.0jone 12345 3390.0peter 23987 4000.2david 13916 4490.5yoke 12335 5110.0jasen 42876 6230.5,结构变量也可以作为实参数进行函数调用。可以采用传值、传址、传引用的三种方式传递参数。一、传递结构变量值 因为传递的是实参结构变量中拷贝的数值,所以实参结构变量的数值不会因为函数的调用而被修改。例如:下面是一个传值调用的例子 #include struct person char name20; unsiged long id; float saslary; ;,9.4 传递结构参数,void print(pers

6、on pr)coutpr.name“ ”pr.id“ ”pr.salaryendl;person allone4=“jone”,12345,3390.0, “david”,13916,4490.5, “marit”,27519,3110.0, “yoke”,12335,5110.0;void main( ) for(int i=0;itemp.name; couttemp.idtemp.salary; return temp; /返回结构变量tempvoid print(person,void main( ) person employee3; for(int i=0;ips-numberps

7、-score; /结点赋值 head=NULL; /开始时链表为空 pend=ps; while(ps-number!=0) if(head=NULL) head=ps; else pend-next=ps;,pend=ps; /S点 ps=new student; cinps-numberps-score; pend-next=NULL; delete ps; return(head);void showlist(student *head) coutnumberscorenext; void main( ) showlist(greate( );,输入: 结果: 85.0 The item

8、s of list are: 73.0 401, 85.0 91.0 410, 73.0 68.0 425, 91.0 82.0 413, 68.00 0 432, 82.0,在main( )中,把建立链表函数greate( )的返回值head(指向链表指针)作为实参数调用showlist( )函数。,PendPsheadheadpendps,greate( )函数中,链表创建过程如下图所示:,第一次进入循环到达S点:第一次循环结束后:,进入循环之前:,第二次循环到达S点时: head pend ps第二次循环结束时: head pend ps程序结束时:head,NULL,联合是一种与结构相

9、类似的构造类型。联合与结构的主要区别在于,联合类型分量所占内存空间不是各个成员所需存储空间字节数的总和,而是联合成员中所需要存储空间最大的成员所需要的字节数。 编译器规定联合各个成员共享一个公共存储空间。在任何给定的时刻,只能允许一个成员驻留在联合中,而对结构而言,则是所有的成员都一直驻留在结构中。,9.7 联合(Union),定义联合类型的一般形式是: union 联合名 类型 变量名; 类型 变量名; 联合变量名;,例如定义一个名为data 的联合类型和名为data 的结构变量类型: union data struct data char ch; char ch; int num; int

10、 num; long lnum; long lnum; value; value;,其存储空间分配如下:,value,ch,num,lnum,union 中value 变量,共享 4字节,value,ch,num,lnum,struct 中value 变量,下面是一个使用联合变量的程序例子:#include void main( ) union long int ig3; char s12; t; t.ig0=0x 20 49 45 42; t.ig1=0x 47 4e 49 4a; t.ig2=0x 00 00 0a 21; coutt.s;,例中字符串对应的ASCII码 (十六进制)分别为:B E I 空格 J I N G !n,42 45 49 20 4a 49 4e 47 21 0a,结果: BEI JING!,结构是一种用户定义的数据类型,声明结构时,不产生内存的分配,只是在定义结构变量时,才分配内存空间。 结构作为参数进行函数调用时,传值方式是复制实参的值,当结构很大时(很复杂时),宜采用引用传递或传址,仅传递结构变量的地址,提高程序运行效率。 在C+中,结构是类的过渡,类的功能涵盖了结构的一切。因此结构和联合的使用在不断的缩小,他们更多地用在与硬件控制有关的低级程序设计中。 结构的概念是理解各种数据结构的关键,本章介绍的单向链表就是其中之一。,第九章 小结,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报