输出设备可以用printf函数控制
输入设备可以用scanf函数控制
存储器可以同定义变量进行分配和释放控制
运算器可以被各种运算符控制运算
控制器协调其它各部件操作并以顺序、分支、循环方式进行程序
线性表的顺序存储结构
1、顺序存储:将线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里
2、顺序表:采用顺序存储方法存储的线性表称顺序表。
3、存储地址的计算:
LOC(ai+1)=LOC(ai)+c LOC(ai)=LOC(a1)+(i-1)*c 1<=i<=n 这里:LOC(a1)为结点a1的存储起
址(基地址),c为每个结点所占存储单元数。
顺序表的优点: (1)无须增加额外的存储空间表示结点间的逻辑关系。 (2)可以方便地随机存取表中任一结点。
顺序表的缺点: (1)插入和删除运算不方便,通常须移动大量结点,效率较低。 (2)难以进行连续的存储空间的预分配,尤其是当表变化较大时。
线性表的链式存储结构
1、链式存储:用一组任意的存储单元存储线性表, 逻辑上相邻的结点在物理位置上不一定相邻,结点间的逻辑关系由存储结点时附加的指针字段表示
2、链表:采用链式存储方法的线性表称为链表。
3、每一个结只包含一个指针域的链表,称为单链表
链表结点结构
data :数据域,存放结点的值。next :指针域,存放结点的直接后继的地址。
基础:常量用大写字母
#define LIST_II+NIT_LENTH100
#define LIST_CREMENT 20