说明:这是武汉理工大学计算机学院计科专业【数据结构】课程的实验:使用栈和队列判断字符串是否是回文
谨记:纸上得来终觉浅,绝知此事要躬行。
原题目:
假设称正读和反读都相同的字符序列为“回文”,例如,‘abba’和‘abcba’是回文,‘abcde’和‘ababab’则不是回文。试写一个算法判别读入的一个以‘@’为结束符的字符序列是否是“回文”。
源代码:
// *.cpp: 定义控制台应用程序的入口点。
#include
using namespace std;
#define STACK_INIT_SIZE 100
#define STACKINCREASE 10
#define SElemType char
#define QElemType char
#define Status int
#define OK 1
#define OVERFLOW -1
#define ERROR 0
typedef struct QNode {
QElemType data;
struct QNode *next;
}QNode, *QueuePtr;
typedef struct {
QueuePtr front; //对头指针
QueuePtr rear; //队尾指针
}LinkQueue;
//构造空队列Q
Status InitQueue(LinkQueue &Q) {
Q.front = Q.front = (QueuePtr)malloc(sizeof(QNode));
if (!Q.front) return OVERFLOW;
Q.front->next = NULL;<