Responsive image

问题 A: 设计一个算法利用顺序栈判断一个字符串是否是对称串

问题 A: 设计一个算法利用顺序栈判断一个字符串是否是对称串

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 0
[提交][状态][讨论版][命题人:]

题目描述

所谓对称串是指从左向右读和从右向左读的序列相同,设计一个算法利用顺序栈判断一个字符串是否是对称串。
组合提交代码(仅支持C++)
#include<iostream>
#include <stdio.h>
#include <malloc.h>
using namespace std;

#define MaxSize 100
typedef char ElemType;
typedef struct 
{
ElemType data[MaxSize];
int top; //栈指针
} SqStack; //顺序栈类型
void InitStack(SqStack *&s)
{
s=(SqStack *)malloc(sizeof(SqStack));
s->top=-1;

void DestroyStack(SqStack *&s)
{
free(s);
}
bool StackEmpty(SqStack *s)
{
return(s->top==-1);
}
bool GetTop(SqStack *s,ElemType &e)
{
if (s->top==-1) //栈为空的情况,即栈下溢出
return false;
e=s->data[s->top];
return true;
}
bool Push(SqStack *&s,ElemType e)
{
/**************begin************/




    /**************end************/
}
bool Pop(SqStack *&s,ElemType &e)
{
/**************begin************/




    /**************end************/



bool symmetry(ElemType str[])
{
/**************begin************/




    /**************end************/
}

int main()
{
ElemType str[]="1234321";
if (symmetry(str))
printf("%s是对称串\n",str);
else
printf("%s不是对称串\n",str);
return 1;
}

输入描述

注意分析主程序中给出的输入输出要求

输出描述

注意分析主程序中给出的输入输出要求

提示

组合提交代码,你只需要提交

bool Push(SqStack *&s,ElemType e)bool Push(SqStack *&s,ElemType e)

{

/**************begin************/









    /**************end************/

}

bool Pop(SqStack *&s,ElemType &e)

{

/**************begin************/









    /**************end************/







bool symmetry(ElemType str[])

{

/**************begin************/









    /**************end************/

}


[提交][状态]
ACM算法攻关部