当前位置: 首页 > news >正文

站长之家官网做co的网站

站长之家官网,做co的网站,wordpress版本列表,嘉兴网站课程笔记 10:数据结构(清华) 栈_opnd push-CSDN博客 括号匹配。对于一个表达式,要想确认其中所使用的括号是否匹配,可以采用减而治之的思路,将每对邻近括号消去,则剩下的达式括号匹配当且仅当…

 课程笔记 10:数据结构(清华) 栈_opnd push-CSDN博客

括号匹配。对于一个表达式,要想确认其中所使用的括号是否匹配,可以采用减而治之的思路,将每对邻近括号消去,则剩下的达式括号匹配当且仅当原表达式括号匹配。利用这一思路,我们可以采用栈结构来实现:

bool paren (const char exp[], int n){

Stack S;int j = 0;

for (int i = 0; i < n; i ++){

        if (exp[i] == '(') S.push(++ j);

        if (!S.empty() && (exp[i] == ')'))S.pop();

        if (S.empty() && (exp[i] == ')'))return false;

}

return S.empty();}
 

#include <stdio.h>// 括号匹配函数
int paren(const char exp[]) {int stack[1000] = {0};int top = -1;for (int i = 0; exp[i] != '\0'; i++) {if (exp[i] == '(')stack[++top] = 1;else if (exp[i] == ')') {if (top >= 0) top--;else return 0;}}return top == -1;
}int main() {char exp[1000];gets(exp);if (paren(exp))  printf("括号匹配\n");else  printf("括号不匹配\n");return 0;
}

#include <stdio.h>
#include <stdlib.h>// 定义栈结构
typedef struct Stack {int *data;int top;int capacity;
} Stack;// 初始化栈
void initStack(Stack *s, int capacity) {s->data = (int *)malloc(capacity * sizeof(int));s->top = -1;s->capacity = capacity;
}// 入栈操作
void push(Stack *s, int value) {if (s->top < s->capacity - 1) {s->data[++(s->top)] = value;}
}// 出栈操作
int pop(Stack *s) {if (s->top >= 0) {return s->data[(s->top)--];}return -1;  // 表示栈为空,无元素可出栈
}// 判断栈是否为空
int isEmpty(Stack *s) {return s->top == -1;
}// 括号匹配函数
int paren(const char exp[], int n) {Stack S;initStack(&S, n);  // 初始化栈,大小为表达式长度for (int i = 0; i < n; i++) {if (exp[i] == '(') {push(&S, 1);  // 这里入栈的值可以是任意值,仅用于标记左括号} else if (exp[i] == ')') {if (!isEmpty(&S)) {pop(&S);} else {// 右括号多了,直接返回 0 表示不匹配free(S.data);return 0;}}}int result = isEmpty(&S);  // 判断栈是否为空,为空则括号匹配free(S.data);  // 释放栈内存return result;
}int main() {char exp[1000];fgets(exp, sizeof(exp), stdin);  // 读取表达式,包含换行符int len = 0;while (exp[len] != '\n' && exp[len] != '\0') {len++;}int match = paren(exp, len);if (match) {printf("括号匹配\n");} else {printf("括号不匹配\n");}return 0;
}

http://www.dtcms.com/a/412309.html

相关文章:

  • 网站开发语言哪个好聊天网站模板
  • 河南省住房城乡和建设厅网站首页货代到哪个网站开发客户
  • 一元夺宝网站建设2017安徽安庆怎么样
  • 个人网站建设费用做植物提取物的专业网站
  • 做网站的周记10个免费的黑科技网站
  • python做网站好吗app多少钱能做一个
  • 各网站收录常用网站建设软件有哪些
  • 做网站订金为什么需要交那么多职业生涯规划大赛获奖作品
  • 电子商务网站需要做那些准备工作淄博张店外贸建站公司
  • 肇庆网站上排名做网站用html还是python好
  • 怎么网站建设易企推
  • 一级a视网站 做爰片公司网站建设 阜阳
  • 河北婚庆网站建设定制wordpress更改域名后
  • PE文件格式
  • 做网站充值微信必须是企业机关网站建设总结
  • 产品推广的网站怎么做做电影网站赚了几百万
  • xp系统中做网站服务器吗青岛网站制作百家号
  • MR500U工业级5网口4G插卡路由器主板的使用方法和路由器后台操作过程
  • 怀化二医院网站网店运营推广高级实训教程
  • 温州网站建设托管设计公司网站需要多少钱
  • 河北世达建设集团有限公司网站网络舆情分析案例
  • 大学网站的设计方案如何做跨境电商新手入门教程
  • 网站目录做301申请网站的域名
  • 网站开发 技术方案flash网站设计师
  • C++ Pimpl(Pointer to Implementation)设计思想(转载)
  • uthash.h库源码
  • 网站建设 美食站点网页传奇哪个比较好玩
  • 创建一个新的公司网站南海桂城城乡建设局官方网站
  • 9.27 枚举|前缀和dp|正则shell
  • 卫朋:IPD流程落地-技术管理实战