首页 > 其他分享 >2024/10/14日工作总结

2024/10/14日工作总结

时间:2024-10-14 21:10:09浏览次数:1  
标签:10 char ch return 14 int 2024 base str

完成数据结构作业,用栈和队列两种方法实现回文;
栈的实现:

include

using namespace std;

constexpr auto MAXSIZE = 50;
typedef struct {
char *base;
char *top;
int stacksize;
}sqStack;

void InitStack(sqStack& s) {
s.base = new char[MAXSIZE];
if (!s.base)
exit(OVERFLOW);
s.top = s.base;
s.stacksize = MAXSIZE;
}

void push(sqStack& s,char e) {
if (s.top - s.base == s.stacksize)
return;
*s.top++ = e;
}

void pop(sqStack& s, char& e) {
if (s.top == s.base)
return;
e = *--s.top;
}

bool isPalindrome(char* str) {
int len = strlen(str);
sqStack S;
InitStack(S);
for (int i = 0; i < len; i++) {
push(S, str[i]);
}
for (int i = 0; i < len; i++) {
char ch;
pop(S,ch);
if (ch != str[i])
return false;
}
return true;

}

int main() {
char s[MAXSIZE];
cin >> s;
if (isPalindrome(s)) {
cout << "字符串" << s << "是回文" << endl;
}
else {
cout << "字符串" << s << "不是回文" << endl;
}
return 0;
}

队列的实现:

include

using namespace std;

constexpr auto MAXSIZE = 50;
typedef struct {
char* base;
int front;
int rear;
}sqQueue;

void InitQueue(sqQueue& q) {
q.base = new char[MAXSIZE];
if (!q.base)
exit(OVERFLOW);
q.front = 0;
q.rear = -1;
}

bool isEmpty(sqQueue &q) {
return q.front > q.rear;
}

bool isFull(sqQueue& q) {
return q.rear == MAXSIZE - 1;
}

bool enqueue(sqQueue& q, char ch) {
if (isFull(q))
return false;
q.base[++q.rear] = ch;
return true;
}

bool dequeue(sqQueue& q, char& ch) {
if (isEmpty(q))
return false;
ch = q.base[q.front++];
return true;
}

bool isPalindrome(char* str) {
int len = strlen(str);
sqQueue Q;
InitQueue(Q);
char stack[MAXSIZE];
int top = -1;

for (int i = 0; i < len; i++) {
	enqueue(Q, str[i]);
	stack[++top] = str[i];
}

char ch_Q, ch_S;
while (!isEmpty(Q)) {
	dequeue(Q, ch_Q);
	ch_S = stack[top--];
	if (ch_Q != ch_S)
		return false;
}
return true;

}

int main() {
char str[MAXSIZE];
cin >> str;
if (isPalindrome(str)) {
cout << "字符串" << str << "是回文" << endl;
}
else {
cout << "字符串" << str << "不是回文" << endl;
}
return 0;
}

标签:10,char,ch,return,14,int,2024,base,str
From: https://www.cnblogs.com/zhanglijian/p/18466157

相关文章

  • Stanford CS149 -- Assignment 1: Performance Analysis on a Quad-Core CPU
    作业描述及代码参加:CS149-asst1程序1生成view1时加速比与线程数的关系如下:线程数加速比22.0431.6942.5452.5763.2673.5584.11生成view2时加速比与线程数的关系如下:线程数加速比21.7532.2542.6753.146......
  • 软考14——数据结构
    ◆无向图:图的结点之间连接线是没有箭头的,不分方向。◆有向图:图的结点之间连接线是箭头,区分A到B,和B到A是两条线。◆完全图:无向完全图中,节点两两之间都有连线,n个结点的连线数为(n·1)+(n-2)+.+1=n*(n-1)/2;有向完全图中,节点两两之间都有互通的两个箭头,n个节点的连线数为n*(n-1)◆度......
  • 10.14
    请根据课堂讲解,列举出口算题卡软件的功能列表描述,包括但不限于重复题目的检测、题目数字范围设置、加减乘除算式的参数化等扩展功能,鼓励参考其他成熟软件的功能进行设计,力求功能使用,可推广。直接在文本框提交文字即可,不要上传文档附件。我的答案: 基础功能:1.随机生成题目能......
  • C语言经典100例-第八题(想提升C语言代码能力的看过来!)
    持续更新!!!1.刷题链接和地址: C语言教程|菜鸟教程 菜鸟教程C语言专栏这里的"C经典100例"(看红色框框)2.解题:2.1读题:题目呢,就是输出99乘法表,就是1*1=12*1=2,然后一直到9*9,也是很简单的一道题目 这个就是输出的结果样式 2.2解题思路:首先呢,我们是不是应该考虑......
  • 代码随想录算法训练营第三十二天|122.买卖股票的最佳时机 II 55. 跳跃游戏 45.跳跃游
    122.买卖股票的最佳时机II给定一个数组,它的第 i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[7,1,5......
  • 10月14日
    在原有代码的基础上添加了年级分类packageguv;importjava.util.Random;importjava.util.Scanner;importjava.time.Duration;importjava.time.Instant;classArithmeticGenerator{protectedRandomrandom;protectedScannerscanner;protectedintcorrectCount;p......
  • C学习笔记 基础算法整理 (10.9 - )(正学习,持续更新中)
    本文涵盖了适合初学者学习的基础、经典算法。包括:递归递推、排序、搜索/查找、枚举、图/树遍历、动态规划等。推荐了解  C语言各部分基本知识  后进行学习。学习使用算法,可以:了解针对某类问题的通用解决方案提高逻辑思维能力将复杂的任务分解为简单的步骤精简代码,避免......
  • 【JPCS独立出版 | ISSN:1742-6596 | 往届均稳定EI检索】第九届计算机技术与机械电气工
    第九届计算机技术与机械电气工程国际学术论坛(ISCME2024)将于2024年11月8-10日在中国南京隆重召开。本次论坛将围绕“计算机技术”、“机械电气工程”等多个学术领域进行深度探讨,旨在融合各专业的最新研究成果,以促进相关学科和行业的创新与发展。会议将汇聚来自全球的学者......
  • [20241013]sqlplus spool与文件覆盖.txt
    [20241013]sqlplusspool与文件覆盖.txt--//这个问题在8月份遇到的问题,我发现在sqlplus下spoola.sql文件,并没有在当前目录产生a.sql文件,后来我发现建立在环境变量--//ORACLE_PATH定义的目录下,当时以为自己打开多个会话,没有注意自己工作的当前目录。事后我测试,问题视乎消失了,我再......
  • 2024.10.13 模拟赛
    2024.10.13模拟赛T1「KDOI-10」商店砍价赛时直接口胡出一个错误的贪心。一开始的想法是按照\(v[i]\)排序,然后假设输入的长度为\(n\)位。那么对于排序后\(n-5\)位直接选择操作一。对于剩下的,直接bdfs所有情况选答案,复杂度\(O(n\logn)\)。貌似可行,结果随便一个数据......