首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

小疑点

2012-04-06 
小问题1.假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相

小问题
1.假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法。
2.假设将循环队列定义为:   以域变量front和length分别指示循环队列中队首元素的位置和内含元素的个数,   试写出队列初始化、入队列和出队列的算法。

刚学,有点晕...

[解决办法]
1.假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队列和出队列的算法。
typedef struct node
{
int data;
struct node *next;
}TNode,*PNode;

PNode rear = NULL; //尾指针

Initial(TNode head)
{
head.data = -1; //表示头结点
head.next = &head;
rear = head;
}
bool Push(PNode head,TNode newNode)
{
pNode temp = rear.next;
rear-> next = newNode;
newNode.next = temp;
rear = &newNode;
}
bool Pop(PNode head)
{
PNode temp = rear-> next;
rear-> next = rear-> next-> next
delete temp;
}

热点排行