队列实现字符串逆序-创新互联
循环队列字符串逆序输出
本文题目:队列实现字符串逆序-创新互联
新闻来源:http://ybzwz.com/article/ddsspj.html
- 用循环队列存储字符串,采用带头结点的链表逆置
- 注意这里的字符串长度是有限的
例子
目前成都创新互联公司已为上千的企业提供了网站建设、域名、网络空间、网站托管维护、企业网站设计、常德网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。#include#include#include#define MAXNUM 20
typedef char DataType; //定义数据变量
typedef struct stack
{
int front;
int rear;
DataType *element;
}SeqQueue;
//typedef struct node *Stack;
typedef struct stack *Stack;
int isEmpty(Stack s) // 这里放判断,有点奇怪,如果先创建空栈,节点内容是默认的,
{ // 所以,想用上面定义的节点,先将判断放在栈创建的上方
if(s!=NULL) return 1;
return 0;
}
//队列初始化
Stack createSeqQueue()
{
Stack sq=(Stack )malloc(sizeof(struct stack));
if(sq==NULL) return NULL;
sq->element=(DataType *)malloc(sizeof(struct stack)*MAXNUM);
if(sq->element==NULL) return NULL;
sq->front=sq->rear=0;
return sq;
}
int pushSeqQueue(DataType x, Stack s)
{
s->element[s->rear]=x;
s->rear=(s->rear+1)%MAXNUM;
return 1;
}
//出队列
DataType popQueue(Stack s)
{
DataType temp;
if(!(s->rear==s->front)) //队列非空
{
temp=s->element[s->front];
s->front=(s->front+1)%MAXNUM;
}
return temp;
}
int main(void)
{
char str[20];
int flag=0;
Stack s;
scanf("%s", str);
s=createSeqQueue();
for(int i=0; i
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文题目:队列实现字符串逆序-创新互联
新闻来源:http://ybzwz.com/article/ddsspj.html