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

珠江摩尔网站建设友情链接网站

珠江摩尔网站建设,友情链接网站,驻马店市住房和城乡建设局网站首页,韶关营销网站开发### 思路 1. **初始化栈**:创建一个空栈用于存储左括号。 2. **遍历字符串**:逐个字符检查: - 如果是左括号(( 或 [),则入栈。 - 如果是右括号() 或 ]),则检查栈是…

### 思路
1. **初始化栈**:创建一个空栈用于存储左括号。
2. **遍历字符串**:逐个字符检查:
   - 如果是左括号(`(` 或 `[`),则入栈。
   - 如果是右括号(`)` 或 `]`),则检查栈是否为空:
     - 如果栈为空,说明缺少左括号,输出错误信息。
     - 如果栈不为空,弹出栈顶元素并检查是否匹配:
       - 如果匹配,继续检查下一个字符。
       - 如果不匹配,输出错误信息。
3. **检查栈是否为空**:遍历结束后,如果栈为空,说明括号匹配;否则,说明缺少右括号。

### 伪代码
```
function InitStack(S):
    allocate memory for S.base of size STACK_INIT_SIZE
    S.top = S.base
    S.stacksize = STACK_INIT_SIZE
    return OK

function StackEmpty(S):
    return S.top == S.base

function Push(S, e):
    if S.top - S.base >= S.stacksize:
        reallocate memory for S.base with size S.stacksize + STACKINCREMENT
        S.top = S.base + S.stacksize
        S.stacksize += STACKINCREMENT
    S.top = e
    S.top += 1
    return OK

function Pop(S, e):
    if S.top == S.base:
        return ERROR
    S.top -= 1
    e = S.top
    return OK

function check():
    initialize stack s
    read input string ch
    p = ch
    while *p:
        if *p is '(' or '[':
            Push(s, *p)
        else if *p is ')' or ']':
            if StackEmpty(s):
                print "lack of left parenthesis"
                exit(ERROR)
            Pop(s, e)
            if (*p is ')' and e is not '(') or (*p is ']' and e is not '['):
                print "isn't matched pairs"
                exit(ERROR)
        p += 1
    if StackEmpty(s):
        print "matching"
    else:
        print "lack of right parenthesis"
```

### C++代码
 

#include <iostream>
#include <cstdlib>
using namespace std;typedef char SElemType;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
#define STACK_INIT_SIZE 10
#define STACKINCREMENT 2struct SqStack {SElemType *base;SElemType *top;int stacksize;
};Status InitStack(SqStack &S) {S.base = (SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));if (!S.base) exit(ERROR);S.top = S.base;S.stacksize = STACK_INIT_SIZE;return OK;
}Status StackEmpty(SqStack S) {return S.top == S.base ? TRUE : FALSE;
}Status Push(SqStack &S, SElemType e) {if (S.top - S.base >= S.stacksize) {S.base = (SElemType *)realloc(S.base, (S.stacksize + STACKINCREMENT) * sizeof(SElemType));if (!S.base) exit(ERROR);S.top = S.base + S.stacksize;S.stacksize += STACKINCREMENT;}*S.top++ = e;return OK;
}Status Pop(SqStack &S, SElemType &e) {if (S.top == S.base) return ERROR;e = *--S.top;return OK;
}void check() {SqStack s;SElemType ch[80], *p, e;if (InitStack(s)) {cin >> ch;p = ch;while (*p) {switch (*p) {case '(':case '[':Push(s, *p);p++;break;case ')':case ']':if (!StackEmpty(s)) {Pop(s, e);if ((*p == ')' && e != '(') || (*p == ']' && e != '[')) {cout << "isn't matched pairs" << endl;exit(ERROR);} else {p++;break;}} else {cout << "lack of left parenthesis" << endl;exit(ERROR);}default:p++;}}if (StackEmpty(s))cout << "matching" << endl;elsecout << "lack of right parenthesis" << endl;}
}int main() {check();return 0;
}

http://www.ds6.com.cn/news/90322.html

相关文章:

  • 做办公室的网站长沙百度关键词推广
  • 贵阳网站优化排名seo长沙
  • 团购营销型网站制作上海职业技能培训机构
  • 有一个外国聊天网站 动画做的百度下载并安装最新版
  • 电子商务网站建设课外实训百度竞价排名是什么
  • 网站运营管理报告总结搜狗搜索引擎优化论文
  • wordpress含有标签seo设置是什么
  • 做电商怎么建网站宁波seo行者seo09
  • 曲靖做网站的公司网络seo首页
  • 为什么访问外国网站速度慢网站设计制作在哪里找
  • 党建网站开发需求怎样做市场营销策划
  • 仿做唯品会网站知名网站排名
  • 企业单位网站怎么做宁波网站建设公司哪家好
  • 营销型网站建设策划sem外包
  • 做设计用的素材下载网站跨境电商哪个平台比较好
  • 济南做网站哪家便宜廊坊seo排名霸屏
  • 广西网站建设-好发信息网百度手机应用商店
  • 自己建立公司网站 怎样做成都自然排名优化
  • 好的排版设计网站网络推广怎么做好
  • 网站开发与发布今天的热搜榜
  • 百度秒收录排名软件关键词优化举例
  • 网站建设公司广州增城网站域名注册查询
  • 扬中网站推广服务深圳外贸网站推广
  • 平面设计素材网站推荐找公司做网站多少钱
  • 南召网站建设企业的互联网推广
  • 手机网址被禁止访问是怎么回事怎么把网站排名优化
  • 动易学校网站管理系统网络营销大师排行榜
  • 北京网站建设net2006公司seo营销
  • 做亚马逊和淘宝网站游戏推广员是违法的吗
  • php网站做代理百度站长工具排名