清华大学出版社 TSINGHUA UNIVERSITY PRESS 线性链表的逻结构 配→数:一→数 +数据n|IL
清华大学出版社 TSINGHUA UNIVERSITY PRESS (i) NexT(i) HEAD 123 10 56789 线性链表的物理状态 3 1 9 aa3→a子叶 线性链表的逻辑状态
清华大学出版社 TSINGHUA UNIVERSITY PRESS 依次输出线性链表中的各结点值 输入:线性链表的存储空间V(1:m)、NEXT(1:m); 线性链表的头指针HEAD 输出:依次输出线性链表中各结点的值。 PROCEDURE PRTLL (HEAD) HEAD WHILE(j≠0)DO I OUTPUT V(j; j=NEXT(j) RETURN
依次输出线性链表中的各结点值 输入:线性链表的存储空间V(1:m)、NEXT(1:m); 线性链表的头指针HEAD。 输出:依次输出线性链表中各结点的值。 PROCEDURE PRTLL(HEAD) j=HEAD WHILE (j≠0) DO { OUTPUT V(j) ; j=NEXT(j) } RETURN
清华大学出版社 TSINGHUA UNIVERSITY PRESS struct结构体名 数据成员表 struct结构体名*指针变量名; 例如 struct node i char name [10] /*数据域*/ char sex: /*数据域*/ struct node *next /*指针域*/
struct 结构体名 { 数据成员表; struct 结构体名 *指针变量名; } 例如 struct node { char name[10]; /*数据域*/ char sex; /*数据域*/ struct node *next; /*指针域*/ }
清华大学出版社 TSINGHUA UNIVERSITY PRESS # include" stdlib.h"/米 malloc函数需要包含头文件 stdlib.h* struct node /*定义结点类型 i int d /*数据域*/ struct node next /*指针域* main struct node*p;/*定义该类型的指针变量p* p=(struct node *)malloc (sizeof (struct node)) /*申请分配结点存储空间*/ free(p);/*释放结点存储空间*
#include "stdlib.h"/* malloc 函数需要包含头文件stdlib.h*/ struct node /*定义结点类型*/ { int d; /*数据域*/ struct node *next; /*指针域*/ } main() { struct node *p; /*定义该类型的指针变量p*/ … p=(struct node *)malloc(sizeof(struct node)); /*申请分配结点存储空间*/ … free(p); /*释放结点存储空间*/ }