匿名用户
1级
2012-10-19 回答
代码的主要思想
1 讲输入的字符串保存到顺序链表中
2 计算链表的长度
3 根据长度的积偶性,将链表的前一半加到栈中
4 从栈中pop出各个元素,跟链表后一半的各个字符比较,如果有不一样的,说明不对称
具体细节
//判字符串中心对称
#include
#include
#include
//定义单链表结构类型
typedef char datatype;
typedef struct node
{ datatype data;
struct node *next;
}linklist;
//定义顺序栈结构类型,
const int maxsize=40;
typedef struct
{ datatype elements[maxsize];//栈空间的大小
int top;//栈顶下标(elements的下标)
}stack;
void setnull(stack *&);//清空栈
int length(linklist*);//计算链表长度
void printlink(linklist*);//打印链表的数据
void create(linklist *&,datatype*);//创建链表
void push(stack*,datatype);//压栈操作
datatype pop(stack*);//出栈操作
int symmetry(linklist*,stack*);//判字符串是否中心对称的函数声