回 帖 发 新 帖 刷新版面

主题:[原创]循环队列运算实现

哪位高手帮我填空?
#include <stdio.h>
#define MAXLEN 10
typedef char DataType;
typedef struct
{
  DataType* Q;          /*数据存储区首地址*/
  int front,rear;       /*队头、队尾指针*/
}cycQue;                /*循环队*/
void InitCycQue(CycQue* sp)
{
  xp->Q=(DataType*)malloc(MAXLEN*sizeof(DataType));
  if(sp->Q==NULL)
{
  printf("\t\t\t内存分配错误\n");
}
sp->fo\ront=sp->rear=0;
printf("\t\t\t内存分配成功\n");
}
int InsertCycQue(CycQue* sp,DataType x)
{
  if((sp->rear+1)%MAXLEN==sp->front)
{
  printf("\t\t\t队满!不能再插入元素\n");
  return 0;                     /*队满不能入队*/
}
else
{
  sp->rear=(sp->rear+1)%MAXLEN;
  sp->Q[sp->rear]=x;
  return 1;                     /*入队完成*/
}
}
int ExitCycQue(CycQue* sp,DataType x) /*将循环队列的队首元素出队,值送入x */
{
printf("\t\t\t请您输入程序代码!\n");
}
int LenCycQue(CycQue* sp)             /*求循环队列的长度*/
{
  printf("\t\t\t请您输入程序代码!\n");
}
void ShowCycQue(CycQue* sp)
{
int i;

  printf("\n\t\t\t显示循环队列的所有元素:");
if (sp->front==sp->rear)
  printf("\n\t\t\t循环队列为空!\n");
else
{
  printf("\n\t\t");
  i=(sp->front+1)%MAXLEN;
  while(i<=sp->rear)
  {
     printf("\t%C",sp->Q[i]);
     i=i+1o%MAXLEN;
  }
}
}
main()
{
CycQue sp;
int j=1;
char choice,x;
while(j)
{
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n\t\t\t循      环      队     列\n;");
printf("\n\t\t\t*      1------------队列初始化        *");
printf("\n\t\t\t*      2------------进   队        *");
printf("\n\t\t\t*      3------------出   队        *");
printf("\n\t\t\t*      4------------求 队  长       *");
printf("\n\t\t\t*      5------------显示 队列        *"); 
printf("\n\t\t\t*      6------------退   出        *");
printf("\n\t\t\t***************************************");
printf("\n\t\t\t请选择菜单号:0-5...");
scanf("%c",&choice);
getchar();
if (choice=='1')
InitCycQue(&sp);
else if(choice=='2')
{
  printf("\n\t\t\t请输入需要插入的x的值:");
  scanf("%c",&x);getchar();
InsertCycQue(&sp,x);
}
else if(choice=='3')
  {ExitCycQue(&sp,&x);}
else if (choice=='4')
LenCycQue(&sp);
else if (choice=='5')
ShowCycQue(&sp);
else if (choice=='0')
{
j=0;
printf("\t\t\t程序结束!\n");
}
else printf("\n\t\t\t输入错误!请重新输入!\n");
}
}

回复列表 (共15个回复)

11 楼

。。。。。。。。

12 楼

可以吗

13 楼

这个程序好,正需要用到.

14 楼

[quote]你也把空写出来啊[/quote]
有趣,是呀,空呢

15 楼

顶一下

我来回复

您尚未登录,请登录后再回复。点此登录或注册