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

wordpress 迅影网深圳博惠seo

wordpress 迅影网,深圳博惠seo,公司注册代办上海,网站搜索怎么做的算法笔记-第七章-栈的应用 栈的基本常识栈的解释一栈的解释二 栈的操作序列合法的出栈序列可能的出栈序列补充知识点 后缀表达式(无优先级) 栈的基本常识 栈(Stack)是只允许在一端进行插入或删除操作的线性表。 栈的解释一 栈的…

算法笔记-第七章-栈的应用

  • 栈的基本常识
    • 栈的解释一
    • 栈的解释二
  • 栈的操作序列
  • 合法的出栈序列
  • 可能的出栈序列
    • 补充知识点
  • 后缀表达式(无优先级)

栈的基本常识

栈(Stack)是只允许在一端进行插入或删除操作的线性表。

栈的解释一

栈的解释二

栈的操作序列

在这里插入图片描述
在这里插入图片描述

//栈的压入和输出
#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main()
{int n, x;string action;//字符串的定义cin >> n;stack<int> s;//栈sfor (int i = 0; i < n; i++){cin >> action;if (action == "push")//如果输入的是push则压入栈中{cin >> x;s.push(x);}else   {if (s.empty())   {cout <<-1 << endl;   }else   {cout << s.top() << endl;   s.pop();   }}}return 0;   }

合法的出栈序列

在这里插入图片描述
在这里插入图片描述


//合法的出栈序列#include <cstdio>
#include <stack>
using namespace std;int main() 
{int n;scanf("%d", &n);stack<int> s;//栈int x, nowMax = 0;bool isValid = true;//布尔函数//已知:在入栈的时候任意 时刻都可以出栈,所以判断的条件为://是否为合理出栈序列:在出栈的时候是否序列是合理的//如果合理则出栈,否则直接就是false(直接布尔函数判定为No)for (int i = 0; i < n; i++) {scanf("%d", &x);if (x > nowMax) {for (int j = nowMax + 1; j <= x; j++) {s.push(j);}nowMax = x;}if (s.top() != x) {isValid = false;  break;  }else  {s.pop();  }}printf(isValid ? "Yes" : "No");  return 0;  
}

可能的出栈序列

在这里插入图片描述

补充知识点

一:C++用vector来表示二维数组;必须先将vector定义为二维数组:vector A
二:定义

vector<vector<int> >a(n);   
初始化一个n*m的二维数组   
for (int i = 0; i < n; i++)   
{a[i].resize(m);   
}

二:赋值操作

//现在像二维数组那样赋值即可;  
for(int i=0;i<m;i++)  {for(int j=0;j<n;j++)  {a[i][j] = (3*i+j+1);  			}}

(抄录)-两个矩阵之和

//计算两个二维数组之和
#include <iostream>
#include <vector>
#include<cmath>
using namespace std;
vector<vector<int> > sum(vector<vector<int> > b, vector<vector<int> > c)
{//此处同样需要先将a定义为二维数组结构; vector<vector<int> > a(4);for (int i = 0; i < 4; i++){a[i].resize(3);}//	vector<int> a2;for (int i = 0; i < b.size(); i++){for (int j = 0; j < b[i].size(); j++){a[i][j] = b[i][j] + c[i][j];}}return a;
}int main()
{//要先定义好二维数组结构,才能直接像二维数组一样赋值; 否则程序没办法往后面运行的; vector<vector<int> > b1(4);vector<vector<int> > c1(4);//不能直接写 vector<vector<int> > a1;需要初始化大小; vector<vector<int> > a1(4);for (int i = 0; i < 4; i++){b1[i].resize(3);}for (int i = 0; i < 4; i++){c1[i].resize(3);}for (int i = 0; i < 4; i++){a1[i].resize(3);}//vector<vector<int> >赋值: for (int i = 0; i < 4; i++){for (int j = 0; j < 3; j++){b1[i][j] = (3 * i + j + 1);}}for (int i = 0; i < 4; i++){for (int j = 0; j < 3; j++){c1[i][j] = 3 * i + j + 1;}}//显示vector<vector<int> >; printf("Array b1: \n");for (int i = 0; i < 4; i++){for (int j = 0; j < 3; j++){printf("b1[%d][%d] = %d\t", i, j, b1[i][j]);}cout << endl;}printf("Array c1: \n");for (int i = 0; i < 4; i++){for (int j = 0; j < 3; j++){printf("c1[%d][%d] = %d\t", i, j, c1[i][j]);}cout << endl;}a1 = sum(b1, c1);printf("Array a1: \n");for (int i = 0; i < 4; i++){for (int j = 0; j < 3; j++){printf("a1[%d][%d] = %d\t", i, j, a1[i][j]);  }cout << endl;  }system("pause");  return 0;  
}

后缀表达式(无优先级)

在这里插入图片描述
注意点:
答案是这样的:

#include <iostream>
#include <string>
using namespace std;string toPostfixExpr(string infixExpr) {string result = "";result += infixExpr[0];for (int i = 2; i < infixExpr.length(); i += 4) {result += " ";result += infixExpr[i + 2];result += " ";result += infixExpr[i];}return result;
}int main() {string expr;getline(cin, expr);cout << toPostfixExpr(expr);return 0;
}

但是我认为有一些问题**************************
正常的表达式子;
参考大佬讲解
中缀转换成后缀表达式

http://www.mnyf.cn/news/34150.html

相关文章:

  • 上海网站制作公司哪网络营销策划模板
  • 手机网站有什么区别武汉做seo
  • 做货代在哪个网站找客源会计培训班多少钱
  • 网站做收付款接口google关键词工具
  • 传奇手游网站系统优化软件排行榜
  • iis做的网站其他电脑能看吗网络营销是网上销售吗
  • 创建网站的目的是什么原因网络推广的概念
  • 如何用网页设计制作个人网站网络推广方案
  • 什么是平台内部营销在运营中seo是什么意思
  • 安徽工程建设信息网站6培训机构加盟店排行榜
  • 如何制作网站中国站长素材网
  • 游戏网站建设的必要性湘潭网站建设
  • 万年网站建设疫情最新资讯
  • 建筑公司网站案例关键词推广效果分析
  • 企业网站群建设的原因互联网推广渠道有哪些
  • 做外贸需要网站百度刷排名优化软件
  • 手机建行网站百度推广渠道代理
  • pc端网站建设cps广告联盟
  • 做 网站 要专线吗百度站长平台官网
  • wix做的网站在国内访问不媒体资源
  • 河北高端网站建设专业做seo推广
  • 大学生做网站新网站怎么快速收录
  • 朔州网站建设千峰培训可靠吗?
  • 网站建设公司兴田德润优惠西安seo服务培训
  • 网站从建设到运行要多少钱怎么在网上做广告
  • 幼儿园行风建设网站用稿资料广告投放渠道有哪些
  • 怎么做有图有声的网站seo关键词优化哪个平台好
  • seo课程多少钱杭州网站seo价格
  • 机械做卖产品网站网站优化推广教程
  • 龙岗做网站的公司郑州seo代理外包公司