c++面向对象程序设计(完整课件).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 指针和引用 (3)表头指针(head) 指向表头结点的指针 若是一个空链表,则表头指针为 空指针(NULL) 第二百八十七页,编辑于星期一:十七点 九分。 第八章 指针和引用 (4)链表的建立 链表的建立过程就是一个个创建链表结点并将它们连接在一起的过程 第二百八十八页,编辑于星期一:十七点 九分。 第八章 指针和引用 ☆创建结点 例:创建一个StudentNode类型的动态结点 StudentNode﹡pNew; pNew=new StudentNode; strcpy(pNew→name, ”wangtao ”); pNew→score=67; pNew→next=NULL; ”wangtao ” 67 ∧ 第二百八十九页,编辑于星期一:十七点 九分。 第八章 指针和引用 ☆在链表的表尾结点后插入一个新结点 例: 将pNew所指的结点插到链表的表尾 StudentNode*tail; tail=head; while(tail != NULL tail→next != NULL) tail=tail→next; tail→next=pNew; 第二百九十页,编辑于星期一:十七点 九分。 第八章 指针和引用 示意图如下: ”wusan ” 89 ”Lishi ” 88 ”wangtao ” 67 head ”wusan ” 89 ”Lishi ” 88 ”wangtao ” 67 head ∧ ∧ ∧ tail pNew 插入前 插入后 tail pNew 第二百九十一页,编辑于星期一:十七点 九分。 第八章 指针和引用 (5)链表结点的删除 ☆如果被删除结点是链表的第一个结点,那么删除这个结点后,链表的头指针需要发生变化; ☆如果被删除结点不是链表的第一个结点,那么删除这个结点后,将导致这个结点的前一个结点的指针发生变化 第二百九十二页,编辑于星期一:十七点 九分。 第八章 指针和引用 第一种情况示意图: 1 2 n … head pDel 1 2 n pDel … head 删除前 删除后 head=head→next; delete pDel; 第二百九十三页,编辑于星期一:十七点 九分。 第八章 指针和引用 第二种情况示意图: 1 i-1 i n i+1 … head pDel 1 i-1 i i+1 n head … … … pDel 删除前 删除后 pre→next= pDel→next; delete pDel; pre pre 第二百九十四页,编辑于星期一:十七点 九分。 第八章 指针和引用 将两种情况结合,则从一个以head为表头指针的链表中删除一个结点的程序如下: if(head==pDel) head=head→next; else {pre=head; while(pre!=NULL pre→next!=pDel) pre=pre→next; pre→next=pDel→next;} delete pDel; 第二百九十五页,编辑于星期一:十七点 九分。 第八章 指针和引用 四、指针常用的场合 1、动态空间申请 2、构建复杂的数据结构 3、作为函数的参数 4、字符串操作 第二百九十六页,编辑于星期一:十七点 九分。 第八章 指针和引用 §8、7 引用的概念 一、引用的说明 1、引用: C++语言中对一个变量或常量标识符起 的别名。 第二百九十七页,编辑于星期一:十七点 九分。 第八章 指针和引用 2、引用的说明: 说明一个引用时,在引用标识符的前面 加上‘’,后面跟上它所引用的标识符的名字。 如:int val; int rval=val;// rval是对val的引用 第二百九十八页,编辑于星期一:十七点 九分。 第八章 指针和引用 3、引用说明时必须初始化 引用不是变量,所以必须在说明引用时说明它所引用的对象。所引用的对象必须有对应的内存空间。 第二百九十九页,编辑于星期一:十七点 九分。 第八章 指针和引用 4、对引用的操作与对被引用对象所做的 操作,效果完全一样 第三百页,编辑于星期一:十七点 九分。 第八章 指针和引用 例:#includeiostream.h void main( ) {int val; int rval=val; cout ” val=” valend

文档评论(0)

美丽花 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档