首页 > 其他分享 >10.29博客

10.29博客

时间:2024-10-31 19:09:36浏览次数:6  
标签:return int 10.29 博客 char base str front

今天学习了栈和队列的两种实现方式
栈和队列是非常重要的两种数据结构,在软件设计中应用很多。
栈和队列实现回文的两种实现形式
include
include
using namespace std;
typedef struct {
char* base;
int front;
int rear;
}SqQueqe;
typedef struct {
char* base;
char* top;
int stacksize;
}SqStack;
//初始化栈
void initStack(SqStack& s) {
s.base = new char[101];
s.top = s.base;
s.stacksize = 101;
}
//进栈
int Push1(SqStack& s, char c) {
if (s.top - s.base == 101)
return 0;
*s.top++ = c;
return 1;
}
//出栈
int Pop1(SqStack& s, char& c) {
if (s.top == s.base)
return 0;
c = *--s.top;
return 1;
}

//初始化队列
void initQueqe(SqQueqe& q) {
q.base = new char[101];
q.front = q.rear = 0;
}
//进队
int Push2(SqQueqe& q, char c) {
if ((q.rear + 1) % 101 == q.front)
return 0;
q.base[q.rear] = c;
q.rear = (q.rear + 1) % 101;
return 1;
}
//出队
int Pop2(SqQueqe& q, char& c) {
if (q.rear == q.front)
return 0;
c = q.base[q.front];
q.front = (q.front + 1) % 101;
return 1;
}

int main() {
string str;
getline(cin, str);
// for(int i=0;i<str.size();i++){
// if(str[i]==' '){
// str.erase(i,1);
// }
// }
//去掉字符串中的空格
int i = 0;
while (str[i] != '\0') {
if (str[i] == ' ') {
str.erase(i, 1);
i--;
}
i++;
}
char c1, c2;
int flag = 1;
//进栈
SqStack s;
initStack(s);
for (int i = 0; i < str.size(); i++) {
Push1(s, str[i]);
}
//进队列
SqQueqe q;
initQueqe(q);
for (int i = 0; i < str.size(); i++) {
Push2(q, str[i]);
}

for (int i = 0; i < str.size(); i++) {
Pop1(s, c1);
Pop2(q, c2);
if (c1 != c2) {
flag = 0;
break;
}

}
if (flag == 1)
cout << "此字符串是回文串" << endl;
else cout << "此字符串不是回文串" << endl;

return 0;
}

标签:return,int,10.29,博客,char,base,str,front
From: https://www.cnblogs.com/bixi/p/18518686

相关文章

  • 10.14博客
    经历了几周关于Java的学习后,我想已经初步了解了Java。在这一周中我跟随黑马程序员的脚步初步学习,现在已经安装了jdk环境(当然它不只是一个运行环境,还附带了许多开发工具)并能够用它输出“HelloWworld"。当然,开发工具不止这个,我还学习并安装了Notepad++与idea,关于这两种开发工具,......
  • FirstRound-博客中文翻译-五-
    FirstRound博客中文翻译(五)原文:FirstRoundBlog协议:CCBY-NC-SA4.0为什么这位工程领导者认为你不应该以零遗憾减员为目标原文:https://review.firstround.com/why-this-engineering-leader-thinks-you-shouldnt-aim-for-zero-regrettable-attrition作为【温室】****的首......
  • 指尖上的编程挑战:打造技术交流新桥梁——我的微信博客小程序
    在一个风和日丽的下午,我坐在窗边,看着电脑屏幕上闪烁的光标,心中涌动着一股强烈的创作欲望。作为一名热衷于技术分享的技术博主,我发现越来越多的读者希望能够随时随地阅读我的博客文章。但是,传统的博客形式似乎有些过于单一,在手机端的体验并不理想,尤其是在碎片化的时间里浏览长篇文章......
  • html网页制作在线电影网页设计-html电影资讯博客网站模板(5个页面)
    html网页制作在线电影网页设计-html电影资讯博客网站模板(5个页面)一款黑色响应式的电影新闻资讯(首页/电影/明星/热点/新闻)等页面,电影热点资讯,电影博客类型网页模板html,html网站期末作品~电影资讯博客网站模板(HTML+CSS+JavaScript)涵盖个人、电影、美食、动漫、公司、......
  • 10.30日博客
    序列容器vector用途:动态数组,支持随机访问。特性:元素连续存储。插入和删除操作在尾部效率较高,中间操作较慢。常用方法:push_back():在容器末尾添加元素。pop_back():移除容器末尾的元素。at(index):通过索引访问元素。size():返回容器大小。list用途:双向链表,支持高效的插入......
  • 博客园自救成功,对程序员群体有何意义?
    感觉国内的技术内容社区还没有出现领头羊的产品,看看现在的技术社区,CSDN虽然活的比较滋润,但是用户体验真的很差,各种广告和付费内容,据说自己上传的资源,想要下载到本地,还需要付费,这个吃相有点像熟悉的知网,但是作为程序员,是真的离不开CSDN,开发过程中,你遇到很多BUG,搜索引擎......
  • java计算机毕业设计基于springboot的个人博客设计与实现(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容基于SpringBoot的个人博客设计与实现的相关说明一、研究背景随着互联网的迅猛发展,个人博客作为一种便捷的网络表达和信息分享方式,受到了广泛的关注和应用。......
  • 10.29人工智能教育技术学课后总结
    1.课程回顾2.人工智能在小学教育中的应用实例3.智能评估与反馈4.面临的挑战与展望本节课老师以人工智能技术在王力宏离婚事件中的应用引入,讲述了人工智能技术对教学的革命性作用。人工智能在小学教育中的应用实例老师提到了一个让我印象深刻的例子:通过人工智能技术,系统可以......