线性表:由零个或多个数据元素组成的有限序列。 1、属于一个序列; 2、第一个元素没有前驱,最后一个没有后继; 3、有限的。
两种物理存储结构: 1、顺序存储; 2、链式存储。
顺序存储: 1、存储位置就是顺序的位置; 2、数组的最大长度; 3、当前长度 length
链式存储: 1、使用任意存储单元存储数据元素; 2、除了存储数据元素之外,还要存储它的后继元素的存储地址(指针); 头指针:链表指向第一个节点的指针,如链表有头节点则指向头结点的指针; 无论链表是否为空,头指针不为空; 头指针是链表的必须元素。 头结点:放在第一个元素之前; 非必须要素
单链表的读取,从头开始,直到第n个元素为止。(工作指针后移) 对于插入或删除数据越频繁的操作,单链表的效率更明显。
单链表的整表创建: 1、声明一节点p和计数变量i; 2、初始化一空链表L; 3、L的头结点指针指向NULL,即建立一个带头结点的单链表; 4、循环实现后继结点的赋值和插入。
约瑟夫问题; 1-n 的n个人顺时针围圈,每个人一个密码m(正整数),开始第一个的m计算到下个人退出,并且报对应的m继续,直到所有人退出。 魔术师发牌问题; 拉丁方块矩阵;