从一个空表开始,重复读入数据,生成新结点,将读入数据存放到新 结点的数据域中,然后将新结点插入到当前链表的表头上,直到读入结束 标志为止。即每次插入的结点都作为链表的第一个结点。
⑴ 头插入法建表 头插法建表:将新结点插入到当前链表的表头 优点:算法简单 缺点: 链表中结点次序和输入次序相反
(2)尾插法建表:将新结点插入到当前链表的表尾(需引入r) 不带头结点的尾插法:插入时,第一个结点的处理与其它结点的处理 有区别。结束时,空表和非空表的处理有区别。 带头结点的尾插法:1) 链表第一个位置上的操作与其它位置上的操作相一致。 2)空表和非空表 的处理相一致。
单链表操作
1.查找运算 (1)按序号查找 GET(L,i) 给定一个序号,在单链表中查找该序号 对应的结点, 若结点存在,则返回该结点的指针,否则返回空指针 (2)按值查找 LOCATE(head,key)
2.单链表的插入 1)后插操作: 在指针p所指结点之后插入 2)前插操作: 在指针p所指结点之前插入 3.删除运算 删除指定结点的直接后继