问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用c语言试设计算法判断字符串是否中心对称(利用栈作存储结构)

发布网友 发布时间:2023-07-16 16:06

我来回答

1个回答

热心网友 时间:2024-01-18 05:30

有问题欢迎追问

2019/3/28更新

iostream已经不引用string了,string头文件需要自己引用进来。

#include <iostream>
#include <string>//2019/03/28修改
using namespace std;

class Stack
{
private:
    char *top,*base,*str;
public:
    Stack(int n)
    {
        str = new char[n+1];
        base = str;
        top = str;
    }
    Stack(string s)
    {
        str = new char[s.size()+1];
        base = str;
        top = str;
    }
    bool isEmpty()
    {
        if(top == base)
            return true;
        else
            return false;
    }
    void push(char a)
    {
        *top = a;
        top++;
    }
    char pop()
    {
        
        return *--top;
    }
};

int main()
{
    string str;
    cout<<"请输入字符串:";
    cin>>str;
    Stack stack(str);
    for(int i = 0 ;  str[i] != '\0';i++)
    {
        if(stack.isEmpty())
            stack.push(str[i]);
        else
        {
            char temp = stack.pop();
            if(temp != str[i])
            {
                stack.push(temp);
                stack.push(str[i]);
            }
        }
    }
    if(stack.isEmpty())
        cout<<"对称"<<endl;
    else
        cout<<"不对称"<<endl;
    return 0;
}

热心网友 时间:2024-01-18 05:30

有问题欢迎追问

2019/3/28更新

iostream已经不引用string了,string头文件需要自己引用进来。

#include <iostream>
#include <string>//2019/03/28修改
using namespace std;

class Stack
{
private:
    char *top,*base,*str;
public:
    Stack(int n)
    {
        str = new char[n+1];
        base = str;
        top = str;
    }
    Stack(string s)
    {
        str = new char[s.size()+1];
        base = str;
        top = str;
    }
    bool isEmpty()
    {
        if(top == base)
            return true;
        else
            return false;
    }
    void push(char a)
    {
        *top = a;
        top++;
    }
    char pop()
    {
        
        return *--top;
    }
};

int main()
{
    string str;
    cout<<"请输入字符串:";
    cin>>str;
    Stack stack(str);
    for(int i = 0 ;  str[i] != '\0';i++)
    {
        if(stack.isEmpty())
            stack.push(str[i]);
        else
        {
            char temp = stack.pop();
            if(temp != str[i])
            {
                stack.push(temp);
                stack.push(str[i]);
            }
        }
    }
    if(stack.isEmpty())
        cout<<"对称"<<endl;
    else
        cout<<"不对称"<<endl;
    return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在excel中输入产品序号如何直接引出相应的信息 excel表格输序号自动出现内容 戏剧教育主要学什么内容 戏剧教育专业就业前景和就业方向怎么样 戏剧教育专业学什么 2025就业前景怎么样 戏剧教育学什么 戏剧教育专业是本科还是专科 戏剧教育专业要读多少年 戏剧教育是什么专业 贵州省合医在浙江省能直接报销吗 西安枫林九溪漪溪楼盘地址在哪里? ...字符顺序栈,并实现回文(对称,如abba)字符串的判定 西安枫林九溪漪溪产权年限多少年? 用栈实现字符串中心对称判断 做事总是半途而废的男人能嫁吗 枫林九溪岱溪为啥不摇号 编写一个算法利用顺序栈判断一个字符串是否是对称串 c语言 西安市枫林九溪靠谱吗 枫林九溪怎么样?好不好?值不值得买? 青花蔬菜多少一斤? 碳酸钠溶于甲醇吗 如果溶于水,比率是多少?急用, 48座的车能坐多少乘客 即墨单招机构有哪些 三年级160名学生去旅游,一辆大巴车42座,租4辆这样的大巴车,够坐吗?为... 即墨哪里有教jps 从化学角度分析,甲醇有哪些特性?有什么通途? 辽宁省的野鸡大学有哪些 平邑县哪里有野鸡 秦时期有平阳夫人,也有平阳公主,为什么她们不避讳呢? 河北的野鸡大学名单有哪些 枫林九溪蓝溪的缺点 西安枫林九溪有污水处理厂的味道吗? 设单链表中存放n个字符,试设计一个算法,使用栈判断该字符串是否中心对称... 枫林九溪蓝溪能不能买 设单链表中存放着n个字符,设计算法,判断该字符串中是否有中心对称... 灞桥区枫林九溪到火车站有公交车吗 1、已知当前需要定义一个顺序栈结构对一组字符 西安枫林九溪观澜小区是哪个街道 弥尚科技美学是微商吗 2015春新款单鞋韩版显瘦真皮拼色厚底内增高女鞋子低帮运动休闲鞋 ht... 请问有人知道这是什么鸟??嘴巴两侧的肉是黄色的。 丰田2014款RAV4座椅换哪种真皮好看?是要拼色还是要素色好看? ...管末端癌早期),未扩散到夷头,已做了手术。请问手术后能活多久... 结肠低分化腺癌(t4an2amo),侵及肠壁全层,两端手术切缘均未见肿瘤... 我母亲72岁,手术后病理活检是直肠中分化腺癌,上切缘和下切缘都没有癌... 一直到去年年底为止,上海的国企里的管理都是混乱的。 那一本历史小说写的是曹魏时期荀氏家族 国企管理混乱用什么办法解决? ...淋巴结1/12转移、溃疡型中-低分化腺癌、T4aN1M0。五年生存率是... 从河北省雄县到北京通州马驹桥怎么乘车去?