郝斌数据构造自学笔记--知识点+程序源代码.12 By-HZM1_什么叫做数据构造数据构造概述定义我们怎样把现实中大量而复杂的问题以特定的数据类型和特定的存储构造保留到主存储器(内存)中,以及在此基础上为实现某个功能(例如查找某个元素,删除某个元素,对所有元素进行排序)而执行的对应操作,这个对应的操作也叫算法。数据构造=个体的存储+个体的关系存储算法=对存储数据的操作2_衡量算法的原则算法解题的措施和环节衡量算法的原则1)时间复杂度:大概程序执行的次数,而非执行的时间2)空间复杂度:算法执行过程中大概所占用的最大内存3)难易程度4)强健性3_数据构造的特点数据构造的地位数据构造是软件中最关键的课程程序=数据的存储+数据的操作+可以被计算机执行的语言4_预备知识_指针_15_预备知识_指针_2指针的重要性:指针是 C 语言的灵魂定义:地址:地址是内存单元的编号,从 0 开始的非负整数,范围:0-FFFFFFFF【0-4G-1】CPU=====地址线,控制线,数据线=====内存指针:指针就是地址,地址就是指针。指针变量是寄存内存单元地址的变量。指针的本质是一种操作受限的非负整数。分类:1.基本类型的指针2.指针和数组的关系变量并不一定持续分派,随机分派内存。内存:内存是多字节构成的线性一维存储空间。内存的基本划分单位是字节。每个字节具有 8 位,每一位寄存 1 个 0 或 1 个 1.内存和编号是一一对应的。软件在运行前需要向操作系统申请存储空间。在软件运行期间,该软件所占空间不再分派给其他软件。当软件运行完毕后,操作系统将回收该内存空间(操作系统并不清空该内存空间中遗留下来的数据)。NOTE:1)指针变量也是变量,一般变量前不能加*,常亮和体现式前不能加&。2)局部变量只在本函数内部使用。怎样通过被调函数修改主调函数中一般变量的值。1)实参为有关变量的地址;2)形参为以该变量的类型为类型的指针变量;3)在被调函数中通过 *形参变量名的形式 的形式就可以修改主函数。CASE 1#includeint main(void){int *p;//p 是个变量名字,int*表达该 p 变量只能存储 int 类型变量的地址int i=10;int j;//j=*p;//printf("%d\n",j);//error,p 未指定//char ch='A';//p=&ch;//error,类型不一致p=&i; //p 保留 i 的地址,p 指向 i;修改 p 的值不影响 i 的值,修改 i 的值不影响 p 的值;任何场所下,*p 和 i 可以互换。*p 等价于 i。//p=10;//errorj=*p;//等价于 j=...