Chinaunix首页 | 论坛 | 博客
  • 博客访问: 592782
  • 博文数量: 126
  • 博客积分: 4379
  • 博客等级: 上校
  • 技术积分: 2110
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-06 22:35
文章分类

全部博文(126)

文章存档

2012年(5)

2011年(3)

2010年(2)

2009年(116)

分类: LINUX

2009-03-28 21:19:12

#define MaxSize 100
typedef int ElemType;
typedef struct QNode{
  ElemType elem;
  struct QNode * next;
}QNode;
typedef struct {
  QNode* front;
  QNode* rear;
}LinkQueue;
InitQueue(LinkQueue* pQ)
{
  QNode* node;
  node=(QNode*)malloc(sizeof(QNode));  /*分配一个头节点*/
  node->next = NULL; 
  pQ->front=pQ->rear=node;
}
int EnQueue(LinkQueue* pQ,ElemType e)
{
  QNode* node;
  node=(QNode*)malloc(sizeof(QNode));
  node->elem = e;
  node->next = NULL;
  pQ->rear->next = node;
  pQ->rear = node;
  return 1;
}
int DeQueue(LinkQueue* pQ,ElemType* pe)
{
  QNode* node;
  if (pQ->rear == pQ->front)    /* 队空 */
    return 0;
  node = pQ->front->next;
  *pe = node->elem;
  pQ->front->next = node->next;
  /* 注意有个头节点,当最后一个元素出队时,记得更新尾指针 */
  if (pQ->rear==node)
    pQ->rear=pQ->front;
  free(node);
  return 1;
}
DestoryQueue(LinkQueue* pQ)
{
  while(pQ->front){
    pQ->rear=pQ->front->next;
    free(pQ->front);
    pQ->front = pQ->rear;
  }
}
阅读(905) | 评论(1) | 转发(0) |
0

上一篇:表的顺序实现

下一篇:栈的链式实现

给主人留下些什么吧!~~

chinaunix网友2009-05-19 09:47:42

主函数呢?写的好像不是太全啊。