一
单链表的倒置
void lin-lnl(link H)
{
link q,p;
p = p -> next;
H -> next = NULL;
while(p)
{
q = p;
p = p -> next;
q -> next = H -> next;
H -> next = q;
}
}
二
双向循环列表中注意 一定要有 prior data next三个组成一个节点
三
栈的特点是先进后出 也就是类似于数组
四
对于链栈来说,在使用的时候一定要进行malloc 即生成一个节点 而且链栈操作的删除和添加都是在链表头进行的 用完以后一定要free 为了使程序更加严谨一定要NULL
五
队列的特点是先进先出
六
顺序队列 类似于数组的存储结构
注意:头指针front总是这些队头元素的前一个位置,尾指针rear总是指向队尾元素所在的位置
为区别空对和满队,头指针front指向的位置必须设置为空,满队元素个数比数组的元素个数少一。
七
对于链队列来说,插入在队尾,而删除则是在队头、
注意:对于链队列来说,必须也有front 和rear节点即
typedef struct node
{
datatype data ;
struct node *next;
}linklist; //链表元素类型定义
typedef struct
{
linklist *front ,*rear ; //链队列指针
}linkqueue; //链队列类型定义
linkqueue *q //指向链队列的指针
阅读(801) | 评论(0) | 转发(0) |