单链表的定义和使用(例子)与单链表的基本操作与实现
存储学生学号、姓名、成绩的单链表结点类型定义:
typedef Struct{ char num[8]; //数据域 char name[8]; //数据域 int score; //数据域 }Elem Type; typedef struct Lnode{ ElemType data; //数据域 struct Lnode *next; //指针域 }
单链表的基本操作:
初始化(创建一个空表)
status InitList_L(LinkList &L){ L = new Lnode; //生成一个新节点作头结点,用头指针L指向头结点,L为指针变量 L->next=NULL; //将头结点的指针域置空 return ok; }
判断链表知否为空(只需判断链表的指针域是否为空即可)
int ListEmpty(LinkList){ if(L->next) return 0; //非空 else return 1; }
单链表的销毁:(是将所有的结点包括头指针全部销毁,不存在)
Status DESTROYlist_L(LinkList &L){ //销毁单链表L
Lnode *p; //定义指针变量,用于指向要销毁的结点
while(L){ //因为要一个结点一个结点的移动,所以要借助循环来移动
p=L; //让指针P指向L当前所指向的结点
L=L->next;
delept p;
}
return OK; //删除完毕
}
清空链表 不啦不啦 。。。。搜搜吧,不想敲了
指针指向头结点 使用 P=L;语句
指针指向首元结点 使用 P = L->next;语句
p指向下一结点: p=p->next;

浙公网安备 33010602011771号