回文字符的判断(栈与队列)代码.doc

上传人:可****阿 文档编号:72358546 上传时间:2023-02-10 格式:DOC 页数:3 大小:25.04KB
返回 下载 相关 举报
回文字符的判断(栈与队列)代码.doc_第1页
第1页 / 共3页
回文字符的判断(栈与队列)代码.doc_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《回文字符的判断(栈与队列)代码.doc》由会员分享,可在线阅读,更多相关《回文字符的判断(栈与队列)代码.doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、回文字符的判断(栈与队列)代码/头文件/code。hdefine TRUE 1#define FALSE 0define ok 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW 2define NULL 0typedef int Status;/主函数/test.cpp#include code.h #include stdlib。h include include define STACK_SIZE 100 /* 栈初始向量大小 */define STACKINCREMENT 10 /*队列的操作函数*typedef char QEl

2、emType;typedef struct QNodeQElemType data;struct QNode *next;QNode,QueuePtr;typedef struct QueuePtr front; /队首QueuePtr rear; /队尾 LinkQueue;Status InitQueue(LinkQueue Q) /构造空队列Q。front=Q。rear =(QueuePtr)malloc(sizeof(QNode);if(!Q。front) exit(OVERFLOW);Q。frontnext=NULL;return ok;Status DestoryQueue(Lin

3、kQueue Q) /销毁队列while(Q.front )Q。rear=Q.frontnext;free(Q.front);Q。front=Q。rear;return ok;Status EnQueue (LinkQueue Q,QElemType e) /在队尾插入元素QNode *p;p=(QueuePtr)malloc(sizeof(QNode); if(!p) exit (OVERFLOW);p-data=e;pnext=NULL;Q。rear-next=p;Q。rear=p;return ok;Status DeQueue(LinkQueue Q,QElemTypee) /删除队首

4、元素,并返回其值if(Q。front=Q。rear) return ERROR;QNode *p;p=Q。front-next;e=pdata;Q。frontnext=p-next;if(Q。rear=p) Q。rear=Q.front;free(p);return ok;/*栈的操作函数*typedef char ElemType;typedef struct SqStack ElemType *base; /* 栈不存在时值为NULL */ ElemType top; / 栈顶指针 / int stacksize ; / 当前已分配空间,以元素为单位 SqStack ;Status Ini

5、tStack(SqStack s) /*构造空栈s*/ ElemType *a=(ElemType *)malloc(10sizeof(ElemType); realloc(a,STACK_SIZE sizeof(ElemType); s.base=(ElemType *)malloc(STACK_SIZE sizeof(ElemType)); if (! s。base) return ERROR; /存储分配失败 s.top=s。base ; / 栈空时栈顶和栈底指针相同 */ s。stacksize=STACK_SIZE; return ok ;Status GetTop(SqStack

6、S,ElemType e) /返回栈顶元素 if(S.top=S.base) return ERROR;e=(S。top-1);return ok; Status push(SqStack S,ElemType e) /进栈if (S.topS.base=S。stacksize) return ERROR; *S.top=e; S。top+ ; /* 栈顶指针加1,e成为新的栈顶 */ return ok;Status pop( SqStack &S, ElemType e ) /出栈if ( S。top= S。base ) return ERROR ; / 栈空,返回失败标志 */ S.to

7、p- ;e=S。top ; return ok ; int stackLength( SqStack S) /栈的长度 return S。top-S。base ; Status StackEmpty( SqStack S) /判断栈是否为空 if ( S。top= S.base ) return TRUE;else return FALSE; /*比较函数*int compare()SqStack T;LinkQueue R;InitStack(T);InitQueue(R); char ch;char a,b;printf(”请输入要判断的字符串以作为结束符n);while((ch=getchar()!=)push(T,ch); /进栈EnQueue(R,ch); /入队 while(T。top!=T.base) pop(T,a); /出栈DeQueue(R,b); /出队 if(a!=b) return ERROR; /比较字符是否相同else return ok;/*主函数*void main() int r=compare(); if(r=1)printf(%s”,”此为回文字符序列n); elseprintf(s”,此不为回文字符序列n);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁