固定位数的全排列与括号匹配
来源:互联网 发布:sql语句获得正态分布 编辑:程序博客网 时间:2024/06/06 11:36
固定位数的全排列
void Perm(int* array, int size, int N){ if (N == size) { for (int i = 0; i < N; i++) cout << array[i] << " "; cout << endl; } else { for (int i = N; i < size; i++) { swap(array[i], array[N]); Perm(array, size, N + 1); swap(array[i], array[N]); } }}int main(){ int array[] = { 1, 2, 3, 4 }; Perm(array, sizeof(array) / sizeof(array[0]),2); getchar(); return 0;}
括号匹配:
bool Isbracket(char c){ if (c == '(' || c == ')' || c == '[' || c == ']' || c == '{' || c == '}') return true; return false;}bool Matchbracket(char* array){ stack<char> s; size_t size = strlen(array); for (size_t i = 0; i < size; i++) { if (!Isbracket(array[i])) continue; if (array[i] == '(' || array[i] == '{' || array[i] == '[') { s.push(array[i]); continue; } else { if (s.empty()) { cout << "右括号多与左括号" << endl; return false; } if (array[i] == ')'&&s.top() == '(' || array[i] == ']'&&s.top() == '[' || array[i] == '}'&&s.top() == '{') { s.pop(); } else { cout << "括号不匹配" << endl; return false; } } } if (s.empty()) { cout << "括号匹配正确" << endl; return true; } else { cout << "左括号多与右括号" << endl; return false; } }int main(){ char* arr1 = "gao{[]()}"; char* arr2 = "{jia[sha}]"; char* arr3 = "(bi){haha"; char* arr4 = "bao(bao))"; Matchbracket(arr1); Matchbracket(arr2); Matchbracket(arr3); Matchbracket(arr4); getchar(); return 0;}
阅读全文
0 0
- 固定位数的全排列与括号匹配
- 打印括号匹配的所有排列
- 括号 匹配 排列问题
- 左右括号全排列
- java正则表达式匹配固定位数的数字
- 算法题:n个括号的合法全排列
- 生成n对括号的合法全排列
- 输出n对括号的所有有效(左右括号成对匹配)排列
- poj1145 括号间的读取与匹配
- 全排列+二分图匹配
- 打印所有括号匹配排列方式
- 打印所有括号匹配排列方式
- 生成固定位数的随机数
- 生成固定位数的UUID
- 排列与全排列算法
- 八、全排列与组合的生成
- 字符串的全排列与组合
- 浅谈全排列与组合的生成
- MYSQL优化记录
- JAVA环境变量配置详解
- Codeforces Round #447 (Div. 2) D. Ralph And His Tour in Binary Country
- 在Java中 什么叫包-包有什么用途-如何创建包-
- 色彩表示与编码
- 固定位数的全排列与括号匹配
- 数组例题
- 版本控制
- 。
- 多校中保存的读入挂
- 状态码汇总
- 电路做加法
- 第八期 使用 Keras 训练神经网络 《显卡就是开发板》
- TensorFlow的55个经典案例