帮 忙用c语言编个字符串 队列的源程序,一定能运行的哈

基本要求入队出队显示队列就可以。但是一定是字符串的。... 基本要求 入队 出队 显示队列就可以。但是一定是字符串的。 展开
 我来答
匿名用户
2013-08-26
展开全部
#include <stdio.h>
#include<stdlib.h>#define MAXLENGTH 10char Push(int &index,char c,char string[])
{
if(index<10)
{
string[index++]=c;
}
return c;
}char Pop(int &index,char string[])
{
char c ='\0'; if(index>=0)
{
c = string[index--];
string[index--]='\0';//设置成空,表示空的
}
return c;
}int main()
{
char string[MAXLENGTH];
int index=0; printf("入队列以后:\n");
Push(index,'a',string);
Push(index,'b',string);
Push(index,'c',string); for(int i=0;i<index;++i)
{
printf("%c ",string[i]);
} printf("出队列以后:\n");
Pop(index,string); //删除最后一个字符
for(int i=0;i<=index;++i)
{
printf("%c ",string[i]);
}
system("pause");
}
匿名用户
2013-08-26
展开全部
/*将顺序队列中的元素依次取出并打印*/
#include "stdio.h"
#include "conio.h"
#define NULL '\0'
#define MAXSIZE 50typedef struct
{ char data[MAXSIZE];
int front,rear;
}SEQUEUE;void initstack(SEQUEUE *q)/*初始化*/
{ q->front=-1;q->rear=-1; }void enqueue(SEQUEUE *q,char x) /*入队列*/
{ if(q->front==(q->rear+1)%MAXSIZE)
{ printf("queue is full !");
exit(0);
}
else
{ q->rear=(q->rear+1)%MAXSIZE;
q->data[q->rear]=x;
}
}int empty(SEQUEUE *q) /*判断空队*/
{ if(q->rear==q->front)
return 1;
else
return 0;
}char dequeue(SEQUEUE *q)
{ char v;
if(empty(q))
{ printf("queue is NULL !");
v=NULL;
}
else
{ q->front=(q->front+1)%MAXSIZE;
v=q->data[q->front];
}
return v;
}
main()
{ SEQUEUE a,*q;
char x,y;
q=&a;
initstack(q); while((x=getchar())!='$')
enqueue(q,x);
while(!empty(q))
{ y=dequeue(q);
printf("%3c",y);
}
getch();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
福献仉河
2019-09-07 · TA获得超过4829个赞
知道小有建树答主
回答量:3132
采纳率:30%
帮助的人:212万
展开全部
#include
<stdio.h>
#include<stdlib.h>#define
MAXLENGTH
10char
Push(int
&index,char
c,char
string[])
{
if(index<10)
{
string[index++]=c;
}
return
c;
}char
Pop(int
&index,char
string[])
{
char
c
='\0'; if(index>=0)
{
c
=
string[index--];
string[index--]='\0';//设置成空,表示空的
}
return
c;
}int
main()
{
char
string[MAXLENGTH];
int
index=0; printf("入队列以后:\n");
Push(index,'a',string);
Push(index,'b',string);
Push(index,'c',string); for(int
i=0;i<index;++i)
{
printf("%c
",string[i]);
} printf("出队列以后:\n");
Pop(index,string);
//删除最后一个字符
for(int
i=0;i<=index;++i)
{
printf("%c
",string[i]);
}
system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式