计算机二级C 辅导:顺序队列基本操作计算机二级考试

文章作者 100test 发表时间 2009:05:08 18:17:32
来源 100Test.Com百考试题网


  2009年下半年全国计算机等级考试你准备好了没?考计算机等级考试的朋友,2009年下半年全国计算机等级考试时间是2009年9月19日至23日。更多优质资料尽在百考试题论坛 百考试题在线题库
  #include "stdafx.h"
  #include "stdio.h"
  #include "stdlib.h"
  #define  SMALL 1
  #if(SMALL)
  #define MAX 7
  int QueueData[MAX] = {A,B,C,D,E,F,G}.
  #else
  #define MAX 14
  int QueueData[MAX] = {A,B,C,D,E,F,G,H,I,J,K,L,M,N}.
  #endif
  /*顺序队列类型定义*/
  typedef struct
  {
  int data[MAX].
  int head.
  int tail.
  }sqQueue.
  /*链队列类型定义*/
  struct LinkQueue
  {
  int data.
  struct LinkQueue *link.
  }.
  typedef struct LinkQueue lkQueue.
  //--------------------------------------
  /*顺序队列基本操作函数定义部分*/
  //顺序队列的初始化函数sqInitialize()
  sqQueue *sq_Initialize()
  {
  sqQueue *p.
  p = (sqQueue *)malloc(sizeof(sqQueue)).
  if(p==NULL)
  {
  return(NULL).
  }
  else
  {
  p->.data[0] = 0.
  p->.head = 0.
  p->.tail = 0.
  return(p).
  }
  }
  //顺序队列的判空函数qIsEmpty()
  int qIsEmpty(sqQueue *queue)
  {
  if(queue->.head==queue->.tail)
  return(1).
  else
  return(0).
  }
  //顺序队列的判满函数qIsFull()
  int qIsFull(sqQueue *queue)
  {
  if(queue->.head==MAX)
  return(1).
  else
  return(0).
  }
  //顺序队列的入队函数qInQueue()
  int qInQueue(sqQueue *queue,int data)
  {
  if(queue->.tail==MAX)
  {
  printf("队列已满!\n").
  return(0).
  }
  else
  {
  queue->.data[queue->.tail ] = data.
  return(1).
  }
  }
  //顺序队列的出队函数qOutQueue()
  int qOutQueue(sqQueue *queue,int *p)
  {
  if(queue->.head==queue->.tail)
  {
  printf("队列已空!\n").
  return(0).
  }
  else
  {
  *p = queue->.data[queue->.head ].
  return(1).
  }
  }

相关文章


计算机二级C 辅导:顺序队列基本操作计算机二级考试
计算机二级:大整数阶乘问题的递推算法计算机二级考试
计算机二级:scanf和gets获取字符串时的区别计算机二级考试
高精度实现10000位数字的乘除法(C )计算机二级考试
C 中string和string.h的作用和区别计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛