数据结构学习笔记(郝斌老师)
88页1、学算法, 不要想着自己能够完完整整的自己编一个算法, 也不要觉得自己想不出来就备 受打击。 只要能看懂别人写的算法,然后反复地自己敲,反反复复地出错,然后再敲,最后实现 能够把这个程序敲出来就行了。 看懂主要分三步:1 看懂主函数的流程;2 明确每一个子函数的功能;3 试数,就是自 己往里面代数。 总搞不懂, 看不懂地算法, 就把它背会, 然后反复想, 期待能够搞定 (基本很少, 但有) 。 数据结构研究的就是个体的存储和个体与个体之间关系的存储问题存储问题, 算法研究的是对数据的 操作问题操作问题,并且不同的存储结构会影响算法的使用,举个简单的例子,要想实现一个功能, 你首先需要把数据拿出来,对于数组来说用 for 循环就可以实现,但对于链表就不可以了, 所 以 说 算 法 依 附 于 存 储 数 据 的 结 构 , 结 构 不 同 算 法 必 定 会 有 差 异 (控制线用来控制 cpu 对于内存条,是只读还是只写,还是可读或可写) 两个指针变量之间只可以相减,不可以相加,相乘或相除,因为这样的运算无意义 对于单个指针可以进行加法或者减法运算(自增,自减) “指向同一块连续空间的不
2、同存储单元”这个要求存在,是因为不同类型的指针变量,相 减无意义,例如,一个保存的是整型的地址,另一个保存的是实型的地址,相减干啥? 指针就是地址,计算机里的地址值就是编号,所以可以说指针就是编号。 Double 类型变量占 8 个字节,一个字节占 8 位,意思是,一个字节可以存放 8 个 0 或 者 8 个 1。 一个字节用一个地址表示(一个字节一个编号),那么 double 类型变量因为占 8 个字 节,那么就会有 8 个地址,那么指针中究竟存放的是这 8 个字节中的哪个地址呢? 解: 对于变量来说,要用它的第一个字节的地址来表示整个变量的地址。在计算机中的地 址总线中用 32 根线(即 32 位)来存储变量在内存中所占首字节的地址,意思是用四个字节 来存储某变量首字节的地址。 所有的指针变量占四个字节所有的指针变量占四个字节, 这意味着, 一个指针变量无论它指向的变量占多大的字节, 它永远只占四个字节。 所以,指针中究竟存放的是这 8 个字节中的第一个字节的地址。 据此,做下面这个题 问两次输出的 q 相差多少? 答:因为每个 double 类型变量占 8 个字节,一个字节用一个
3、地址来表示,用一个变量中的 首地址(即第一个字节的地址)来表示变量的地址。意味着两个 double 类型变量之间有 8 个地址值,所以两个地址值应该相差 8; 运行结果:第一个数据+8 等于第二个数据。(16 进制) 指针与一维数组指针与一维数组 # include int main(void) int a5; /a 是数组名5 是数组元素的个数 元素就是变量a0- a4 /int a34; /3 行 4 列 a00是第一个元素 aij第 i+1 行 j+1 列 int b5; /a = b;/error a 是常量 printf(“%#Xn“, printf(“%#Xn“, a); return 0; /* 在 Vc+6.0 中的输出结果是: - 0X12FF6C 0X12FF6C Press any key to continue - 总结: 一维数组名 一维数组名是个指针常量,常量意味着,其值不可以被改变 它存放的是一维数组第一个元素的地址 */ 指针变量,变量,这两种变量的“变”,一定要好好理解,它的变化范围是什么,变化 对象是什么,一定要搞清楚。 指针变量也是变量, 它与变量
4、的区别在于其存放的东西不一样, 这就意味着变化的对象 不一样;以及变化的范围不同。 指针变量存放的是地址值 (为什么要经常用字母 p 来表示一个指针变量, 就是因为它里 面存放的是地址值,是位置信息,英文单词 position 的首字母为 p),地址值是变量在定义 时计算机赋给变量的一个计算机识别的标识,它的值是计算机编好的一系列的编号。所以, 指针变量的变化范围就是那些所有的地址值编号,一般来说就是以 16 进制表示的从 0 开始 的一系列的数。 指针的变量值是人赋予的那些数据,其变化范围就是数学上所定义的那个范围。 语法程序举例语法程序举例 1: # include int main(void) int * p; /p 是变量的名字, int * 表示 p 变量存放的是 int 类型变量的地址 int i = 3; p = /OK /p = i; /error,因为类型不一致,p 只能存放 int 类型变量的地址,不能存放 int 类 型变量的值 /p = 55; /error 原因同上 return 0; 程序举例程序举例 2 # include int main(void) i
《数据结构学习笔记(郝斌老师)》由会员n****分享,可在线阅读,更多相关《数据结构学习笔记(郝斌老师)》请在金锄头文库上搜索。
项目二财务管理价值观念
山东省安全生产风险分级管控与隐患排查治理信息化系统交流材料-2018.9.26
人教版高中地理必修3第一章地理环境与区域发展第二节《地理信息技术在区域地理环境研究中的应用》
第三章2房地产抵押贷款-固定利率抵押贷款
第八章工程质量法律制度
第25讲家庭电路与安全用电
餐厅点餐系统项目
项目7水箱水位控制
框架完整个人年度工作总结范文模板
科目名称-国土交通省
金融工程09课件
高校自主招生之结构化面试
房地产私募股权投资基金(PE)专题研究.
房地产基础知识培训2012
第一章食品检测技术基础知识
第10章网站设计与建设综合实例
第5章尝试迷人的机器人项目机器人灭火项目
自考英语二unit3
企业人力资源管理师第六章劳动法与劳动关系管理
第三章市场营销宏观环境分析
2024-01-17 14页
2022-10-20 9页
2023-12-08 14页
2023-06-06 7页
2022-12-12 14页
2023-10-18 15页
2023-05-05 31页
2022-12-04 13页
2023-10-20 14页
2024-01-17 14页