类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)从键盘上输入一个后缀表达式,试编写算法计算表达式的值。规定:逆波兰表达.. 阅读详情

相关推荐

CodeBuddy 接入 MCP,一键生成网站!

2024 年 11 月,Anthropic 公司搞了个挺有意思的新玩意 - Model Context Protocol(模型上下文协议)简称为 MCP 协议。简单来说,它就是给 AI 和各类工具数据之间搭了个标准化的”桥梁”,让开发者不用再为对接问题头疼了。mcp.so如下图所示,这是 mcp.so 网站中的 MCP Server。使用百度/高德地图分析旅线计算时间接 Puppeteer 自动操作网页使用 Github/Gitlab 让大模型接管代码仓库。

悟空聊架构的专栏 1946

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

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

2301_80043971的博客 1247

Orcad原理图导入Allegro

在即将设计的PCB中,将层叠设置好后,执行File→import→parameters,将刚才导出的.prm文件导入,很多参数就自动设置好了,与已完成的PCB里的参数保持一致。具体操作是:在已完成的PCB里执行File→Exoprt→Parameters,弹出下图所示的对话框,选择需要导出的设计参数后,设置到导出路径,导出记录设计参数的文件(.prm)。在.brd文件导入网表后,往往需要页面大小、格点、各层叠里各要素显示颜色等参数,手动设置十分麻烦,我们可以在一块已经完成的PCB里导出记录设计参数的文件。

sinat_27007097的博客 2085

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

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

floruitshow的博客 6417

《基于Yolo算法的火灾检测系统设计与实现》开题报告

在消防安全领域,火灾对生命财产安全构成严重威胁。传统的火灾检测手段存在诸多不足,如误报率高、检测范围有限、响应速度慢等。基于 Yolo 算法的火灾检测系统能够利用深度学习技术,实现对火灾的高效、精准检测,具有重要的现实意义。         从社会安全角度看,该系统可以广泛应用于各类公共场所、工业厂房和居民住宅,实时监测火灾隐患,及时发出警报,为人员疏散和消防救援争取宝贵时间,有效降低火灾造成的人员伤亡和财产损失,保障社会公共安全。

m0_69704149的博客 1384

Windows下Colmap编译安装全攻略:从Boost到CUDA的避坑指南

本文详细介绍了在Windows系统下编译安装Colmap三维重建工具的完整流程与实战经验。针对Boost库版本兼容性、CUDA与Visual Studio的版本匹配等常见难题提供了具体的避坑指南和解决方案,帮助开发者高效完成从环境配置到最终部署的全过程。

weixin_28235513的博客 199

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

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

weixin_45644508的博客 1万+

TenserRt平台SMOKE 3D目标检测部署完整教程:从理论到实践

本教程详细介绍了在RK3588平台上部署SMOKE 3D目标检测模型的完整流程。SMOKE是一种创新的单阶段单目3D检测方法,通过关键点估计直接预测3D目标信息,有效解决了深度信息缺失等挑战。文章从理论基础出发,解析了SMOKE的核心算法和网络架构,包括DLA-34主干网络和关键点中心化策略。同时提供了详细的Docker环境配置、模型导出到ONNX格式的实践指南,以及TensorRT引擎构建和性能优化的关键技术要点。该教程为开发者在嵌入式平台上实现高效3D目标检测提供了完整的技术参考。

LXY_LOVE36的博客 372

回文是指正读反读均相同的字符序列;如“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

Vue2 - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,vue实现vr看720度全景效果方案讲解及示例代码(兼容电脑PC网页+手机H5移动端页面)

vue全景VR图,vue h5实现全景720预览,vue加载720全景图_vue怎么加载vr图片,vue实现vr全景看房,vue2实现全景效果,加载很慢卡怎么办,实现全景预览的插件,vue显示720度全景图,720°全景图显示,在h5中展示720°全景图,浏览全景图,基于vue实现vr全景预览,加载全景图,vue全景预览pannellum插件,vue实现3D全景图,实现720°全景图展示,在VUE 中使用three.js实现全景视频播放,vue项目中使用photo-sphere-viewer实现vr720度

🏆 前端领域优质创作者 3317

LCZ数据下载及处理-以重庆市为例(完整Python代码)

LCZ数据下载及处理-以重庆市为例(完整Python代码)

WW、forever的博客 611

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

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

JxufeCarol的博客 1万+

YOLO12涨点改进| 损失函数改进篇 |AAAI 2025| 一种小目标检测SDLoss损失函数,解决现有损失函数对不同目标尺度敏感度不足的局限,提高了网络检测不同尺度目标的敏感能力,助力高效涨点

本文提出了一种改进的小目标检测方法SDLoss,通过动态调整尺度损失与位置损失的权重,优化了YOLOv12模型的性能。针对红外小目标检测中存在的两个主要问题:1)标准卷积难以捕捉目标的高斯空间分布特性;2)现有损失函数对不同尺度目标的敏感度不足,研究团队开发了Pinwheel-shaped卷积(PConv)和Scale-based Dynamic损失函数(SDLoss)。PConv通过不对称卷积核设计显著提升感受野,SDLoss则根据目标大小动态平衡尺度与位置损失的影响。

Ai缝合怪、助力小伙伴高效发论文 238

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

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

2401_84341430的博客 448

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

第三章栈和队列-作业题

第三章栈和队列-作业题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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

第三章 栈和队列

算法设计题: (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

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数据结构(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、付费专栏及课程。

余额充值