表示形式
队列的链表形式与单链表类似,只不过多了两个结点来保存首位结点
一,关于链栈的结构体表示结构体定义
第一种定义方法
struct Node{ int data; //数据域 Node *front; //头 Node *rear; //尾 Node *next; //下一个};
第二种定义方法
struct Node{ int data; //数据域 Node *next; //下一个};struct List{ Node *front; //尾 Node *rear; //头};
图解
由图可以得知
- 因为是链表结构,所以是无限制的
- 判断队列为空的情况是,S->front == S->rear
Node *Init()
{
Node *S = new Node;
S->front = S->rear=new Node;
S->front->next = NULL;
return S;
}
此时定义一个名为S的链表,然后将其中的front和rear都定义为空
入队Node *Enter(Node *S)
{
Node *P = new Node;
cout << "输入将要入队列的值:";
cin>>P->data;
P->next = NULL;
S->rear->next = P;
S->rear = P;
return S;
}