登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
判断字符串是否合理
判断字符串是否合理
[ 复制链接 ]
辗振
2025-6-7 16:17:20
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
通过键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串是否有效。要求设计算法实现检查字符串是否有效,有效的字符串需满足以下条件:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
每个右括号都有一个对应的相同类型的左括号。
/***************************************************************************
*function:创建一个顺序栈,判断字符串是否合理
*author:jindouliu2024@163.com
*date:2025.4.4
*
* Copyright (c) 2024-2025 jindouliu2024@163.com All right Reserved
* ***************************************************************************/
#include<stdio.h>
#include <stdbool.h>
#include <stdlib.h>
//指的是顺序表中的元素的数据类型,可以根据需要进行修改
typedef int DataType_t;
//构造记录顺序栈SequenceStack各项参数(顺序栈的栈底地址 + 顺序栈的容量 + 顺序栈中最后有效元素的下标)的结构体
typedef struct SequenceStack
{
DataType_t * Bottom; //记录顺序栈的栈底
unsigned int Size; //记录顺序栈的容量
int Last; //顺序栈中最后元素的下标
}SeqStack_t;
//创建顺序栈并对顺序栈进行初始化
SeqStack_t * SeqStack_Create(unsigned int size)
{
//1.利用calloc为顺序栈的管理结构体申请一块堆内存
SeqStack_t *Manager = (SeqStack_t *)calloc(1,sizeof(SeqStack_t));
if(NULL == Manager)
{
perror("calloc memory for manager is failed");
exit(-1); //程序异常终止
}
//2.利用calloc为所有元素申请堆内存
Manager->Bottom = (DataType_t *)calloc(size,sizeof(DataType_t));
if (NULL == Manager->Bottom)
{
perror("calloc memory for element is failed");
free(Manager);
exit(-1); //程序异常终止
}
//3.对管理顺序栈的结构体进行初始化(元素容量 + 最后元素下标)
Manager->Size = size; //对顺序栈中的容量进行初始化
Manager->Last = -1; //由于顺序栈为空,则最后元素下标初值为-1
return Manager;
}
//向顺序栈加入元素
bool SeqStack_Add(SeqStack_t *Manager, DataType_t Data)
{
//1.判断顺序表是否已满
if ( SeqStack_IsFull(Manager) )
{
printf("SeqStack is Full!\n");
return false;
}
//2.如果顺序栈有空闲空间,则把新元素添加到顺序栈
Manager->Bottom[++Manager->Last] = Data;
return true;
}
//判断顺序栈是否为空
bool SeqStack_IsEmpty(SeqStack_t *Manager)
{
return (-1 == Manager->Last) ? true : false;
}
DataType_t SeqStack_Del(SeqStack_t *Manager)
{
// 不为空时
if(Manager->Last >=0){
return Manager->Bottom[Manager->Last--];
}
}
bool Is_valid_Str(SeqStack_t *Manager,char *str)
{
while(*str != '\0'){
if(*str == '('){
SeqStack_Add(Manager,1);
}
else if(*str == ')') {
//判断栈是否为空
if(SeqStack_IsEmpty(Manager) == true){
return false;
}
SeqStack_Del(Manager);
}
str++;
}
//判断栈是否为空
if(!SeqStack_IsEmpty(Manager)){
return false;
}
return true;
}
int main()
{
//创建一个空的顺序栈
SeqStack_t *qlist=SeqStack_Create(100);
char str[100];
//输入一个字符串
printf("请输入一个字符串:");
scanf("%s",str);
//调用函数进行判断
if(Is_valid_Str(qlist,str) == false){
printf("this is not valid\n");
}
else{
printf("this is valid\n");
}
return 0;
}
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
判断
字符串
是否
合理
相关帖子
墨刀是否能替代Axure?从产品经理三大画图能力深度分析
数据类型-字符串
.NET开发中3秒判断该用 IEnumerable 还是 IQueryable
【何志丹】蹉跎半生,不知道是否能过45岁的坎
golang unique包和字符串内部化
字符串-函数
MySQL索引(三):字符串索引优化之前缀索引
剑指offer-43、左旋转字符串
百度来路判断,屏蔽pc端跳转代码,最好
剑指offer-49、把字符串转换成整数
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
墨刀是否能替代Axure?从产品经理三大画图能力深度分析
2
710
茅香馨
2025-10-01
安全
数据类型-字符串
1
1064
痕厄
2025-10-06
业界
.NET开发中3秒判断该用 IEnumerable 还是 IQueryable
5
255
靳谷雪
2025-10-06
业界
【何志丹】蹉跎半生,不知道是否能过45岁的坎
2
554
毋献仪
2025-10-18
业界
golang unique包和字符串内部化
2
941
赖珊
2025-10-20
安全
字符串-函数
2
380
澹台忆然
2025-10-27
安全
MySQL索引(三):字符串索引优化之前缀索引
1
126
高清宁
2025-11-09
安全
剑指offer-43、左旋转字符串
2
388
韶侪
2025-11-27
代码
百度来路判断,屏蔽pc端跳转代码,最好
2
28
新程序
2025-12-08
安全
剑指offer-49、把字符串转换成整数
0
556
晖顶蝇
2025-12-11
回复
(5)
鞍汉
2025-10-20 04:46:04
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢分享,试用一下
判涔
2025-10-30 00:46:44
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
凳舒
2025-10-30 22:52:44
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢发布原创作品,程序园因你更精彩
奸轲嫣
2025-11-30 04:51:29
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,学习下。
拼潦
4 小时前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
业界
代码
问答
签约作者
程序园优秀签约作者
发帖
辗振
4 小时前
关注
0
粉丝关注
18
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845357
3934307807
991123
4
xiangqian
638210
5
韶又彤
9998
6
宋子
9983
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9951
查看更多
今日好文热榜
361
爬虫专栏:破解网站检测selenium反爬——“
833
开源项目分享:Gitee热榜项目 2025年12月第
49
意识的自反性:知者与作者之惑
680
docker学习笔记
763
docker学习笔记
683
咱们聊聊Spring循环依赖那点事儿:从“死锁
156
Python学习3
832
NCHU-数字电路模拟程序-23207332
234
LaTeX学习笔记:学术文档排版
217
昆明黄金店推荐:如何甄选“价值平权”的黄
936
微信支付集成_JSAPI
882
【AI编程】5分钟用AI复刻有BOSS战的《坦克
627
紧跟材料趋势,深耕专业工艺:上海芮生建设
665
FFmpeg开发笔记(九十四)基于Kotlin的国产
743
昆明旅游打卡必去:逛南亚风情园,别错过廖
881
大厂生存启示录:从“螺丝钉”到“金牌个人
217
AI编程工具策略
265
self introduction
53
白嫖最新ChatGPT和主流AI大模型,国内无限
70
Java关键字解析之volatile:可见性的守护者