#include<iostream> #include<cstdlib> #include<ctime> typedef struct LNode { char data; struct LNode* next; }LNode, * LinkList; #define MAXSIZE 100 typedef char SElemType; typedef struct { SElemType* base; SElemType* top; int stacksize; } SqStack; bool isSymmetry(LinkList L, int n) { SqStack S; S.base = new SElemType[MAXSIZE]; S.top = S.base; S.stacksize = MAXSIZE; LNode* p = L; for (int i = 0; i < n / 2; i++) { Push(S, p->data); p = p->next; } if (n % 2 != 0) { p = p->next; } while (p != NULL && *(S.top - 1) == p->data) { Pop(S, *(S.top - 1)); p = p->next; } if (S.top == S.base) { return true; } else { return false; } } int Push(SqStack& S, SElemType e) { if (S.top - S.base == S.stacksize) { return 0; } *S.top++ = e; return 1; } int Pop(SqStack& S, SElemType& e) { if (S.top == S.base) { return 0; } e = *--S.top; return 1; }严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C3861 “Push”: 找不到标识符 Project6 C:\Users\li\source\repos\Project6\源.cpp 24 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C3861 “Pop”: 找不到标识符 Project6 C:\Users\li\source\repos\Project6\源.cpp 33
时间: 2024-03-11 08:43:33 浏览: 79
在你的代码中,isSymmetry函数中调用了Push和Pop函数,但是它们在调用之前没有被声明。你需要在isSymmetry函数之前加上Push和Pop函数的声明或者将Push和Pop函数的定义放在isSymmetry函数的前面。另外,由于Push和Pop函数的定义中使用了SqStack类型的参数,所以你需要在代码开头定义SqStack类型。具体的修改方法可以参考下面的代码:
```
#include<iostream>
#include<cstdlib>
#include<ctime>
typedef char SElemType;
typedef struct {
SElemType* base;
SElemType* top;
int stacksize;
} SqStack;
int Push(SqStack& S, SElemType e);
int Pop(SqStack& S, SElemType& e);
typedef struct LNode {
char data;
struct LNode* next;
}LNode, * LinkList;
#define MAXSIZE 100
bool isSymmetry(LinkList L, int n) {
SqStack S;
S.base = new SElemType[MAXSIZE];
S.top = S.base;
S.stacksize = MAXSIZE;
LNode* p = L;
for (int i = 0; i < n / 2; i++) {
Push(S, p->data);
p = p->next;
}
if (n % 2 != 0) {
p = p->next;
}
while (p != NULL && *(S.top - 1) == p->data) {
Pop(S, *(S.top - 1));
p = p->next;
}
if (S.top == S.base) {
return true;
}
else {
return false;
}
}
int Push(SqStack& S, SElemType e) {
if (S.top - S.base == S.stacksize) {
return 0;
}
*S.top++ = e;
return 1;
}
int Pop(SqStack& S, SElemType& e) {
if (S.top == S.base) {
return 0;
}
e = *--S.top;
return 1;
}
```
阅读全文