首页 > 其他分享 >20231110_stack_queue

20231110_stack_queue

时间:2023-11-10 19:46:28浏览次数:36  
标签:10 head const 20231110 int namespace queue 1e6 stack

课程笔记

https://www.cnblogs.com/hellohebin/p/15677386.html

上课代码

// 1-10
/* // test1
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int sta[N], head=0;
int n, x;

int main(){
    cin>>n;
    for(int i=1; i<=n; i++){
        cin>> x;
        sta[++ head] = x; // 入栈 [1, head]
    }
    
    while(head){
        cout<<sta[head] <<" ";
        --head; 
    } 
    return 0;
}
*/ 

/* // test2
//P1739 表达式括号匹配
//表达式有英文字母(小写)、运算符( + 、 - 、 * 、 / )和左右小(圆)括号构成,以 @ 作为表达式的
//结束符。请编写一个程序检查表达式中的左右圆括号是否匹配;
//若匹配,则输出 YES ;
//否则输出 NO 。
//表达式长度小于 ,左圆括号少于 个。
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
char sta[N];
int head;

int main(){
    string s; cin>>s;
    for(int i=0; i<s.size(); i++){
        if(s[i]=='(') sta[++head] = '(';
        if(s[i]==')'){
            if(head) head--;
            else {
                head = -1;
                break;
            } 
        }
    }
    if(head == 0 ) cout<<"YES";
    else  cout<<"NO";
}

int main1(){
    string s; cin>>s;
    int h=0;
    for(int i=0; i<s.size(); i++){
        if( s[i]=='(' ) h ++;
        if( s[i]==')' ) h--;
        if( h < 0 ) break;
    }
    if(h == 0) cout<<"YES";
    else cout<<"NO";

    return 0;
}
*/

/* // test4
//P1996 约瑟夫问题
//n个人围成一圈,从第一个人开始报数,数到 的人出列,再由下一个人重新从 开始报数,数到 的
//人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;

int que[N], front = 0, tail=-1;

int main(){
    int n, m, cnt=0; cin>>n>>m;
    for(int i=1; i<=n; i++)  que[++tail] = i;
    while(front <= tail){
        int u = que[front];
        front++;
        cnt ++;
        if(cnt % m ==0 ) cout<< u<<" ";
        else que[++tail]  = u;
    }
    return 0;
}
*/

标签:10,head,const,20231110,int,namespace,queue,1e6,stack
From: https://www.cnblogs.com/hellohebin/p/17824890.html

相关文章

  • 20231110打卡
    早上,我按照计划开始了新一轮的学习。我花了一些时间复习之前学过的算法知识,并解决了一些算法练习题。通过不断思考和练习,我巩固了自己对算法的理解,并且提升了解决问题的能力。下午,由于天气很冷,我和一些同学相约去打球放松一下。尽管天气寒冷,但是打球的过程中我们感到温暖和快乐。......
  • Node opensslErrorStack 错误解决方法记录
    从Git仓库中下载了一个老项目,使用npminstall安装后没有问题,当我使用npmrundev的时候遇到了OpenSSL相关错误,例如opensslErrorStack:['error:03000086:digitalenveloperoutines::initializationerror']网上找了一下相关信息,然后顺利解决了,记录分享给大家问题原因:这种错......
  • 每天5分钟复习OpenStack(九)存储发展史
    上一章节我们介绍了使用本地硬盘做kvm的存储池,这章开始将介绍下存储的发展历程,并介绍什么是分布式存储,为什么HDFS为有中心节点的分布式存储?1、存储发展在单机计算时代(大型机、小型机、微机),内部存储器可以理解为内存(即Memory),外部存储器可以理解为物理硬盘(包括本地硬盘和通过......
  • 20-Stack最典型例
    给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 classSolution(object):defisValid(self,s):"......
  • BlockingQueue队列详解
    /**本例介绍一个特殊的队列:BlockingQueue,如果BlockQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒.同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状态,直到BlockingQueue里有空间才会被......
  • Exception.printStackTrace()转换为String输出
    packagecom.test1;importjava.io.PrintWriter;importjava.io.StringWriter;publicclassT010{/***@paramargs*/publicstaticvoidmain(String[]args){try{String[]arr={"111&qu......
  • Design of A Basic Computer Model With Stack Function
    IntroductionLastweekendIundertookaprojecttodesignabasiccomputermodelfromclockgeneratordesigntomicroinstructionencoding.AndIpreferablychosetodesignabasicmodelwithcommonstackfunctions.MyReportContributorsZhihao......
  • Treiber stack设计
    最近看JDK11的CompletableFuture源码实现时,发现内部使用了Treiberstack,维基百科上作以下描述:TheTreiberstackalgorithmisascalablelock-freestackutilizingthefine-grainedconcurrencyprimitivecompare-and-swapTreiberstack算法是属于无锁并发栈,内部使用CAS(......
  • .NET(C#) LinkedList、Queue<T>和Stack<T>的使用
    本文主要介绍.NET(C#)中,LinkedList链表、Queue<T>队列和Stack<T>堆栈的使用,以及相关的示例代码。1、LinkedList(链表)链表中元素存储内存中是不连续分配,每个元素都有记录前后节点,节点值可以重复,不能通过下标访问,泛型的使用保证类型安全,可以避免装箱拆箱,找元素就只能遍历,查找不方......
  • 队列(Queue):先进先出(FIFO)的数据结构
    队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(FirstIn,FirstOut,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服务的人。在本篇博客中,我们将详细介绍队列的概念、用途、实现以及如何在编程中......