- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
回文数据结构
判断是否为回文实验报告
信息 系 日期
姓名学号电话void Initialize(Seqstack *s)
入栈模块int Push(Seqstack *s,char x,int count)
出栈模块int Pop(Seqstack *s,char *p)
初始化队列模块void Initquene(Seqquene *p)
入队模块int Enterquene(Seqquene *p,char a,int count)
出队模块int Outquene(Seqquene *p,char *a,int count)
2、明确函数的功能
void Initialize(Seqstack *s)初始化栈,使它变为一个空栈
int Push(Seqstack *s,char x,int count)入栈,把数据放入栈中
int Pop(Seqstack *s,char *p)将栈中的数据输出,栈是先进后出
void Initquene(Seqquene *p)初始化队列,使它变成一个空的队列
int Enterquene(Seqquene *p,char a,int count)入队,把数据放入队列中
int Outquene(Seqquene *p,char *a,int count)出队,队列是先进先出
设计细节
1、定义栈
typedef struct
{
char num[MAX];
int top;
}Seqstack;
2.定义队列
typedef struct
{
char number[MAX];
int rear,front;
}Seqquene;
3. 定义每个函数的返回值类型与形参类型
void Initialize(Seqstack *s)
int Push(Seqstack *s,char x,int count)
int Pop(Seqstack *s,char *p)
void Initquene(Seqquene *p)
int Enterquene(Seqquene *p,char a,int count)
int Outquene(Seqquene *p,char *a,int count)
程序设计
函数前包含的头文件名和定义栈和队列
#include stdio.h
#include string.h
#define MAX 200
typedef struct
{
char num[MAX];
int top;
}Seqstack;
typedef struct
{
char number[MAX];
int rear,front;
}Seqquene;
初始化栈
void Initialize(Seqstack *s)
{
s-top=-1;
}
入栈
int Push(Seqstack *s,char x,int count)
{
if(s-top==count-1)
return 0;
s-top++;
s-num[s-top]=x;
return 1;
}
出栈
int Pop(Seqstack *s,char *p)
{
if(s-top==-1)
{
return 0;
}
else
{
*p=s-num[s-top];
s-top--;
return 1;
}
}
初始化队列
void Initquene(Seqquene *p)
{
p-front=p-rear=0;
}
入队
int Enterquene(Seqquene *p,char a,int count)
{
if((p-rear+1)%(count+1)==p-front)
{
return 0;
}
p-number[p-rear]=a;
p-rear=(p-rear+1)%(count+1);
return 1;
}
出队
int Outquene(Seqquene *p,char *a,int count)
{
if(p-front==p-rear)
{
return 0;
}
*a=p-number[p-front];
p-front=(p-front+1)%(count+1);
return 1;
}
主函数 main()
void main()
{
int i,count,flag=0;
Seqquene p;
Seqstack s;
char a[MAX],b[MAX],c[MAX];
printf(请输入一组回文,结束时输入*\n);
for(i=0;i50;i+
文档评论(0)