用压栈的方法实现回文数
来源:互联网 发布:大数据开发培训机构 编辑:程序博客网 时间:2024/05/07 11:56
#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define OVERFLOW -2#define OK 1#define ERROR 0#define MAXSIZE 100typedef int status;typedef char SElemType;typedef char QElemType;typedef struct{SElemType *base;SElemType *top;int stacksize;}Sqstack;typedef struct{QElemType *base;char front;char rear;}SqQueue;status Initstack(Sqstack *S){S->base=(SElemType*)malloc(MAXSIZE*sizeof(SElemType));if(!S->base) exit(OVERFLOW);S->top=S->base;S->stacksize=MAXSIZE;return OK;}status Emtypestack(Sqstack *S){if(S->top==S->base)return OK;elsereturn ERROR;}status InitQueue(SqQueue *Q){Q->base=(QElemType *)malloc(MAXSIZE*sizeof(QElemType));if(!Q->base) exit(OVERFLOW);Q->front=Q->rear=0;return OK;}status Push(Sqstack *S,SElemType x){if(S->top-S->base>=S->stacksize){S->base=(SElemType *)realloc(S->base,(S->stacksize+MAXSIZE)*sizeof(SElemType));if(!S->base) exit(OVERFLOW); S->top=S->base+S->stacksize;S->stacksize+=MAXSIZE;}*S->top=x;S->top--;return OK;}status Pop(Sqstack *S,SElemType *x){if(S->top==S->base)return ERROR;else{S->top--;*x=*S->top;return OK;}}status EnQueue(SqQueue *Q,QElemType y){if((Q->rear+1)%MAXSIZE==Q->front)return ERROR;Q->base[Q->rear]=y;Q->rear=(Q->rear+1)%MAXSIZE;return OK;}status DeQueue(SqQueue *Q,QElemType *y){if(Q->front=Q->rear)return ERROR;*y=Q->base[Q->front];Q->front=(Q->front+1)%MAXSIZE;return OK;}status ReturnText(Sqstack *S,SqQueue *Q,char *C){QElemType y;SElemType x;Initstack(S);//鍒濆鍖朣InitQueue(Q);//鍒濆鍖朡*C=getchar();while((*C)!='@'){Push(S,*C);//鍏ユ爤EnQueue(Q,*C);//鍏ラ槦*C=getchar();}while(!Emtypestack(S))//鏍堜笉涓虹┖{Pop(S,&x);//鍑烘爤DeQueue(Q,&y);//鍑洪槦if(x!=y)//鍒ゆ柇{ printf("涓嶆槸鍥炴枃鏁癨n"); break;}else{printf("鏄洖鏂囨暟\n"); break;}}return OK;}int main(void){SqQueue Q;Sqstack S;QElemType y;SElemType x;char C;scanf("%c",&C);ReturnText(&S,&Q,&C);return OK;}
0 0
- 用压栈的方法实现回文数
- 采用不同的方法实现回文数的判断
- 求回文数的方法
- 回文质数问题(用生成回文数的方法)
- 回文数的判断方法之一
- 回文数的判断(三种方法)
- 寻找回文数的python的实现
- 利用数组,实现回文数的判断
- Java实现-回文数
- 【面试题】判断回文数-两种方法实现
- 回文/回文数的判断
- 判断一个数为回文数的最简单实现
- 1282HDU 回文数猜想(很水的题目)CSDN+新回文数判断方法!!
- 用递归的方法实现输入输出回文
- 0020回文的一种实现方法
- 回文数的判定
- 回文数的生成
- 回文数的判断
- 高仿淘宝下拉刷新控件
- parite家族样本分析
- windows/mfc实现窗口隐藏同时 在任务栏上无图标显示功能
- 简单的android studio之gradle编译加速优化
- GuideView(演示图层)
- 用压栈的方法实现回文数
- iOS中 简单易懂的秒杀倒计时/倒计时
- SQL四种语言:DDL,DML,DCL,TCL
- 不定积分
- MobX中@computed和自定义get函数的区别
- Stackoverflow上人气最旺的10个Java问题
- nginx widnows7 详细安装教程
- codeforces 734 C 二分+枚举
- 5-6 笛卡尔树 (25分)