小编程题之检测字符串表达式中括号是否配对
来源:互联网 发布:java c base64 编辑:程序博客网 时间:2024/06/05 19:22
如题,就直接拍照吧
首先想到的是将符号信息提取出来,放到一个数组里,然后化繁为简,只对数组进行操作,
初始源代码:
#include<iostream>#include<stdlib.h>using namespace std;/* {} 1 -1[] 2 -2() 3 -3*/void check(char* str,<span style="color:#ff0000;">int** arry</span>,int* size){int i = 0;//int m[strlen(str)];<span style="color:#ff0000;">int* m =new int[10] ; </span> //一开始 没有开辟堆,所以 当将该地址返回时,就是有问题的。while((*str)!= '\0'){ cout<<(*str)<<endl;if((*str) == '{')m[i++]=1;else if((*str) == '}')m[i++]=-1;else if((*str) == '[')m[i++]=2;else if((*str) == ']')m[i++]=-2;else if((*str) == '(')m[i++]=3;else if((*str) == ')')m[i++]=-3;str++;} (*size)=i;(*arry)=m;}int handle(int* arry,const int* size){int sum=1;int i;for(i=0;i<(*size);i++)sum=sum+arry[i];if(sum==1) return 1;elsereturn 0;}void show(int* arry,const int* size){int i;cout<<"size "<<(*size)<<endl;for(i=0;i<(*size);i++)cout<<(int)arry[i]<<" ";cout<<endl;}int main(){char str[] = "(){[}";int* arry;int size;check(str,&arry,&size);show(arry,&size);if(handle(arry,&size))cout<<"right"<<endl;elsecout<<"error"<<endl;}
在完成上面时有两个问题出错了,(红色关键词)。第一个往函数外传递地址时,一定是要在堆中开辟空间的;如果只是想通过函数修改函数外数据的值,传递地址即可,但是如果想将函数内开辟的地址传递出去,就必须用到指向指针的指针。
对于初步代码,只是用了简单的算法来判断的,只能判断成对出现括号的情况。
-------------------------------------------------------------------------------------------------------------------------------------
0 0
- 小编程题之检测字符串表达式中括号是否配对
- 检测括号是否配对
- 栈的使用之检验算术表达式中括号是否配对
- 使用栈判断输入的表达式中括号是否配对
- 括号配对:假设一个数学算式中包括圆括号"()",方括号”[]"和花括号“{}”三种类型,编写一算法判断表达式的括号是否配对。
- 一个判别表达式中开、闭括号是否配对出现的算法
- 判别给定表达式中所含括号是否正确配对出现的算法
- php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
- php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
- php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
- 假设一个数学算法中包括圆括号(),方括号[],花括号{}三种类型,编写表达式的括号是否配对
- 判断括号是否配对
- 括号是否配对。
- 假设表达式中包含三种括号 圆括号方括号大括号 设计一个算法用顺序栈判断表达式中的括号是否正确配对
- 正则表达式简单验证内容中的括号是否配对
- “链栈”判断表达式中的括号是否正确配对
- “顺序栈”判断表达式中的括号是否正确配对
- Java - - 判断表达式中的括号是否正确配对
- csu 1503: 点到圆弧的距离-湖南省第十届大学生计算机程序设计竞赛
- 程序员生存定律--升华成高手的可能方法
- 黑马程序猿_OC之三大特性
- 局部内部类访问局部变量的问题
- C语言 return多值的解决方案
- 小编程题之检测字符串表达式中括号是否配对
- php计算抽奖的概率
- elasticsearch时间格式索引管理工具: curator
- UVA - 10057 A mid-summer night's dream. 子序列
- 安装commerce_kickstart全记录
- 动态开辟二维数组,初始化二维数组指针
- 创建MFC项目时,出现链接error,如error LINK2001
- JS实现二分查找算法
- WildcardQuery通配符搜索