类C语言--栈与队列习题:回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)

P85.2.(2)回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否是回文。(提示:将一半的字符入栈)(C语言描述) 做这个题时遇到个bug,即main()中的第一句,我定义了指针str_input用来装输入的字符串,但是后面赋值操作却用了get(),如果要用get()读入字符串的话就应该将str_input定义为数组,编译时没有报错,但运行时出错。我调试的时候一直以为bug在IsPlalindrome()里面,耽误了很久的时间。基础知识不够牢固啊! #include <stdio.h> #in... 阅读详情

此代码可以正常运行,下附有运行界面,是是实实在在的类C语言
将字符串前一半入栈,然后,栈中元素和字符串后一半进行比较。即将第一个出栈元素和后一半串中第一个字符比较,若相等,则再出栈一个元素与后一个字符比较,……,直至栈空,结论为字符序列是回文。在出栈元素与串中字符比较不等时,结论字符序列不是回文。

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
typedef char ElemType;
typedef struct
{
	int stack_size;
	ElemType *top;
	ElemType *base;
}Stack;
enum Status{ERROR,OK};

InitStack(Stack &S,ElemType *t)  //初始化栈
{
	int len=strlen(t);
	S.base = (ElemType *)malloc(len * sizeof(ElemType));
	if (S.base == NULL)
		return ERROR;
	S.top = S.base;
	S.stack_size = len;
}

//入栈
Status Push(Stack &S,ElemType e)
{
	if(S.top-S.base==S.stack_size)
		return ERROR;
	*S.top++=e;
	return OK;
}

//出栈
Status Pop(Stack &S,ElemType &e)
{
	if(S.top==S.base)
		return ERROR;
	e=*--S.top;
	return OK;
}

//判空
int StackEmpty(Stack S)
{
	return (S.top==S.base);
}

Status IsPlalindrome(ElemType *t) //判断t[]是否为回文
{
  Stack S;
  ElemType e;
  int i , len;
  InitStack(S,t);
  len=strlen(t); //求数组长度
  for ( i=0; i<len/2; i++)//将一半字符入栈
    Push(S, t[i]);
  if(strlen(t)%2==1)
		i++;
  while( !StackEmpty(S))// 每弹出一个字符与相应字符比较
  {
    Pop (S,e);

    if( e!=t[i])
		return ERROR ;// 不等则返回0
    else  i++;
  }
  return OK ; // 比较完毕均相等
}

int main()
{
	int len=0;
	ElemType *a=NULL;
	printf("你要输入几个字符:");
	scanf("%d", &len);
	getchar();  //吃掉回车
	a = (ElemType *)malloc(len * sizeof(ElemType));
	printf("\n请输入待检测的字符串:");
	gets(a);

	if (IsPlalindrome(a))
		printf("\n是回文字符串!");
	else
		printf("\n不是回文字符串!");
	return 0;
}

数据结构(C语言第2版) 课后习题答案之 第三章 栈和队列 目录 第3章 栈和队列 1.选择题 (2)回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈) (3)设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常情况(入栈满等)给出相应的信息。 (4)从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:逆波兰表达.. 阅读详情

相关推荐

Ansys Lumerical 启动时出现 Error: Could not connect to Ansys license server specified at 1055@ 的一种解决办法

考虑到 2020 版的时候是直接在全局变量里指定具体地址,但是 2024 版本是写成 1055@localhost ,并且之后在站里搜相关 Ansys 的问题都指向 1055 端口被占用,虽然问题不一样,但是本着死马当活马医,就按照。我最近在跑超透镜结构,听说2024版本现在有GPU加速可以用,就把Lumerical从2020升到2024版本,结果发现一开头的破解办法完全不一样了。一开始安装的时候以为2020没有删干净,导致2024版的安装一直锁着目标地址,解决办法参考。的办法来操作,在关闭了。

qq_51404184的博客 5755

回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。写一个算法判定键盘录入的字符序列是否为回文。(提示:将一半字符入栈)。

需要注意的是,在使用 stack 类模板之前,你需要确保已经包含了相应的头文件,并且在代码中使用了正确的命名空间。通过引用 stack 头文件,你可以使用 stack 类模板来创建栈对象,并使用其中的函数和方法,例如 push()、pop()、top() 等。在 C++ 中,stack 是标准库中提供的一个头文件,其中定义了用于操作栈的类模板 stack。需要注意的是,在使用 stack 类模板时,你可以根据需要选择不同的数据类型来实例化模板,例如 int、char、std::string 等。

2301_80043971的博客 1247

cmw500 lte非信令测试_WiFi信令测试在研发过程中的作用

  1、关于信令测试的故事  2016年的某天,某著名网络产品公司技术负责人致电寻求技术支持:我们的无线路由器遇到了一个困惑:我们某款路由器应用于实际WiFi网络中时,WiFi终端接入非常困难。但是我们使用测试工具检测此路由器,它的所有物理射频指标都非常优异。不知道是为什么?  我来到了测试现场看到:WiFi路由器受控于芯片公司的测试工具,其WiFi发射机指标在非信令测试仪上显示:无论功率、EVM...

weixin_39662263的博客 3925

回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。编写一个程序,使用栈判定给定的字符序列是否为回文。

内容: 回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。编写一个程序,使用栈判定给定的字符序列是否为回文。 算法分析 将字符串前一半入栈,然后,栈中元素和字符串后一半进行比较。即将第一个出栈元素和后一半串中第一个字符比较,若相等,则再出栈一个元素与后一个字符比较,……,直至栈空,结论为字符序列是回文。在出栈元素与串中字符比较不等时,结论字符序列不是回文。 概要设计 函数 void In...

floruitshow的博客 6417

大语言模型在建筑规范自动化合规审查中的微调策略与规模效应实践

大语言模型(LLM)通过在海量文本数据上预训练,具备了强大的语言理解和生成能力。其核心原理是基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。在工程实践中,为了将这种通用能力适配到建筑、法律、金融等高度专业化的垂直领域,通常需要采用领域微调技术。微调通过使用特定领域的高质量指令数据对模型参数进行更新,使其掌握专业术语、逻辑规则和任务范式,从而解决通用模型在专业场景下知识匮乏和“幻觉”问题。结合检索增强生成(RAG)技术,将动态外部知识库作为模型的“参考手册”,能进一步提升事实准确性并降低幻

weixin_30667831的博客 364

教程 | 基于遥感生态指数(RSEI)模型的生态环境质量评价

使用数据:Landsat8 OLI数据,行列号:122036,时间:20210527。 使用软件:ENVI5.3、ArcGIS10.2 二、4个指数计算 下述的四个指数的计算均是通过ENVI软件中的Band math工具进行计算。 (1)绿度指数 在常用的植被指数当中,归一化植被指数 ( NDVI) 能够有效地反映植被的生长情况与植被 覆盖度等重要植被的物理性质,检测灵敏度高,能 够较为真实地展现区域的地表空间变化规律,已经得到广泛利用,本文采用 NDVI 指数来代表绿度指数。 在ENV

YW_remote的博客 1万+

回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)

栈与队列习题:回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈) ```#include<stdio.h> //用了c++里的&和cin.getline(),所以得用.cpp 等运行成功之后看下换成指针试下 #include<string.h> //strlen #include<stdlib.h> //mallo

weixin_45644508的博客 1万+

Rocky Linux 9 远程桌面配置全攻略:从零搭建XRDP服务(含防火墙设置)

本文提供了在Rocky Linux 9上从零开始配置XRDP远程桌面服务的完整指南。详细介绍了系统准备、XRDP服务安装、防火墙与SELinux安全设置、多用户性能优化以及多平台客户端连接实测。重点解决了使用Windows远程桌面协议(RDP)连接Rocky Linux时常见的配置难点与安全问题,帮助用户获得稳定高效的图形化远程访问体验。

vodka的博客 649

回文是指正读反读均相同的字符序列;如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否是回文。(提示:将一半字符入栈)

1.题目描述 回文是指正读反读均相同的字符序列;如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符序列是否是回文。(提示:将一半字符入栈) 2.算法实现 #include<bits/stdc++.h> using namespace std; #define MAXSIZE 100 typedef struct { int *base; int *top; int stacksize; }SqStack;...

weixin_46803686的博客 7852

C#怼倍福TwinCAT3:ADS协议封装实战(附完整读写源码+避坑清单)

变量名大小写敏感:PLC里定义的是GVL.bStart,你写GVL.BStart绝对读不到;数组访问格式:PLC数组是,C#里读单个元素要写,读整个数组不用写索引;句柄要释放:用创建的句柄,一定要用using包起来,否则会占着资源;PLC必须运行:哪怕变量定义对了,PLC没Run(只是Login)也读不到数据;路由配置:如果上位机和PLC不在一个网段,要在TwinCAT3里添加路由(Router→Edit Routes)。倍福ADS通信其实不难,核心就是“配置对+变量名写对+数据类型匹配”。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 950

Winform从入门到精通(38)——StatusStrip(史上最全)

本文介绍StatusStrip控件的详细用法,包含所有属性和事件,绝对史上最全!

qq_34059233的博客 2759

试写一个算法判定给定的字符序列是否为回文。(提示:将一半字符入栈)

/*数据结构与算法-第三章栈和队列课后习题 *课本第85页3.2 *题目:回文是指正读反读均相同的字符序列,如"abba"和"abdba"均是回文,但"good"不是回文。 * 试写一个算法判定给定的字符序列是否为回文。(提示:将一半字符入栈) *编译环境:VC 6.0 */ #include &lt;stdio.h&gt; #include &lt;string.h&gt; #inclu...

JxufeCarol的博客 1万+

【3天快速入门WPF】8-数据绑定基础

以下是一个简单的 WPF 数据绑定示例,使用两个TextBox控件分别表示Name和Age来进行进行数据绑定试验。运行程序后,你会看到初始界面中TextBox 中显示初始名字 “张三”,TextBox 中显示初始年龄 “25”。在 XAML 中创建一个简单的界面,包含一个 TextBox 用于输入名字,一个 TextBox 用于显示年龄。当你在 TextBox 中修改名字时,Person 对象的 Name 属性会被自动更新,反之亦然。它的主要作用是为控件及其子控件提供一个默认的数据源,用于数据绑定。

Zy100Papa的博客 969

栈、队列、数组-- 判断回文

7-1 判断回文回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个程序判定给定的字符向量是否为回文,用栈实现。

2401_84341430的博客 448

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

第三章栈和队列-作业题

第三章栈和队列-作业题1.栈和列队的基本概念6-1 使用栈完成回文判断 (12 分)6-2 判断表达式中括号是否匹配 (12 分)6-3 队列的操作集合(带尾指针的循环链表) (18 分)6-4 循环队列的操作集合(只设 rear和quelen) (18 分)6-5 循环队列的操作集合(增设tag) (18 分) 1.栈和列队的基本概念 2-1 若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是(D )。 (2分) A.d,c,e,b,f

weixin_52326703的博客 4950

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

第三章 栈和队列

算法设计题: (2)回文是指正读反读均相同的字符序列,如 “abba” 和 “abdba” 均是回文,但 “good” 不 是回文。试写一个算法判定给定的字符序列是否为回文。(提示:将 一 半字符入栈) #include <stdio.h> #include <string.h> #include <iostream> typedef struct SNode { char data; struct SNode *next; } SNode, *Link

weixin_44374594的博客 239

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

数据结构(c语言版 第2版)第3章栈和队列算法设计题(回文)

(2)回文是指正读、反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试设计算法判定给定的字符序列是否为回文。(提示:将一半字符人栈。)

Xwylovexixi的博客 414

C语言!!能跑的!!!数据结构(C语言第2版) 课后习题答案之 第三章 栈和队列算法设计题C语言版

/栈顶和栈底指针//栈数组int m;//栈最大可容纳元素个数}DblStackint m;return 1;printf("栈号输入不对");return 0;printf("栈已满");return 0;break;printf("栈号输入错误");return 0;printf("栈号输入错误");return 0;printf("栈空");return 0;

picktheshy的博客 1246

数据结构--栈、队列练习题

数据结构–栈、队列作业 作业1: ​ 1.有五个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈序列中,以元素C、D最先出栈(即C第一个且D第二个出栈)的次序有哪些? ​ 2.铁路进行列车调度时,常把站台设计成栈式结构,试问: ​ (1) 设有编号为1,2,3,4,5,6的6辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种? ​ (2)若进站的6辆列车顺序如上所述,那么是否能够得到435612、326541、154623和135426的出站序列?如果不能,说明为什么不能;如果能,说明如何得到

丹丹的后花园 2315

严魏敏-习题-栈和队列-03

时间复杂度

自学记录 777

7-1回文判断(栈和队列PTA)

回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。编写一个程序,使用栈判定给定的字符序列是否为回文。 若用C++,可借助STL的容器实现。

etamaos的博客 1262

3.2回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)

【代码】2.2回文是指正读反读均相同的字符序列,如“abba”和“abdba”均是回文,但“good”不是回文。试写一个算法判定给定的字符向量是否为回文。(提示:将一半字符入栈)

m0_70061356的博客 545

c语言设计一个算法 通过一趟遍历确定长度,数据结构(c语言)课后习题答案完整版.doc...

数据结构(c语言)课后习题答案完整版第1章 绪论5.选择题:CCBDCA6.试分析下面各程序段的时间复杂度。(1)O(1)(2)O(m*n)(3)O(n2)(4)O(log3n)(5)因为x++共执行了n-1+n-2+……+1= n(n-1)/2,所以执行时间为O(n2)(6)O()第2章 线性表1.选择题babadbcabdcddac2.算法设计题(6)设计一个算法,通过一趟遍历在单链表中确...

weixin_35190276的博客 1370

第三章 栈和队列【数据结构与算法】

第三章 栈和队列(数据结构与算法)

小心星的博客 3876

【计算机考研数据结构代码题总结】栈和队列

1.回文是指正读反读均相同的字符序列,如“ “abba” ” 和“ “abdba” ” 均是回文,但“ “good” ” 不是回文。试写一个算法判断给定字符序列是否是回文。(提示:将一半字符入栈。) int isPalindrome(char *t) { InitStack(S); len = strlen(t); //求字符串长度 for(int i = 0; i<len/2; i++) //将一半字符入串 Push(S,t[i]); if(len%2 != 0) i+

qq_43506256的博客 1720

判断回文数(较麻烦)(c++/数据结构/栈/队列)

题目:回文是指正读反读均相同的字符序列,如“abba”、“abdba”均是回文,但“good”不是回文。 思想:字符数为偶数时,前半部分入栈,后半部分入队;字符为奇数时,用getchar接收中间的字符,其余的按偶数处理。 代码如下: #include&lt;iostream&gt; #define MaxSize 100 #define OK 1 #define ERROR 0 using...

sakura的博客 1943
上一篇: 类C语言---线性表例题:删除递增有序链表中值大于mink且小于maxk的所有元素(mink和maxk是给定的两个参数,其值可以和表中的元素相同,也可以不同 )。
下一篇: 类C语言--栈与队列习题:设从键盘输入一整数的序列:a1, a2, a3,…,an,试编写算法实现:用栈结构存储输入的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法应对异常
幻夜- D
博客等级 码龄7年 196粉丝 120原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值