首页 > 其他分享 >2023.09.22

2023.09.22

时间:2023-09-22 19:12:15浏览次数:32  
标签:2023.09 return 22 top bool front true rear

今天学习了javaweb的入门安装,以及进行了数据结构的学习

栈是只允许在一端进行插入和删除操作的线性表,操作特性可以明显的概括为后进先出
n个不同元素进栈,出栈元素不同排列的个数为C(n:2n)/n+1,即卡特兰数
栈是一种操作受限的线性表,类似于线性表,它也有对应的两种存储方式
采用顺序存储的栈称为顺序栈;栈空:S.top==-1;栈满:S.top==MaxSize-1;栈长:S.top+1
由于顺序栈的入栈操作受数组上界的约束,有可能发生栈上溢
下面是顺序栈上常用的基本运算的实现

下面是顺序栈上常用的基本运算的实现
1.初始化
    void InitStack(SqStack &S){
        S.top=-1;
    }
2.栈判空
    bool StackEmpty(SqStack S){
        if(S.top==-1)    return true;
        else    return false;
    }
3.进栈
    bool Push(SqStack &S,ElemType x){
        if(S.top==MaxSize-1)    return false;
        S.data[++S.top]=x;    return true;
    }
4.出栈
    bool Pop(SqStack &S,ElemType &x){
        if(S.top==1)    return false;
        x=S.data[S.top--];
        return true;
    }
5.读栈顶元素
    bool GetTop(SqStack S,ElemType &x){
        if(S.top==-1)    return false;
        x=S.data[S.top];
        return true;
    }

利用栈底位置相对不变的特性,可让两个顺序栈共享一个一维数组空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸
采用连式存储的栈称为链栈,链栈的优点是便于多个栈共享存储空间和提高其效率,且不存在栈满上溢的情况,通常采用单链表实现
栈和队列具有相同的逻辑结构,他们都属于线性表,但是运算不同
队列简称队,也是一种操作受限的线性表,队尾插入队头删除,操作特性为先进先出
队列的顺序存储,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置
循环队列队空:Q.front==Q.rear ; 队满(Q.rear+1)%MaxSize == Q.front;
循环队列的操作

循环队列的操作
1.初始化
    void InitQueue(SqQueue &Q){
        Q.rear=Q.front=0;
    }
2.判队空
    bool isEmpty(SqQueue &Q){
        if(Q.rear==Q.front) return true;
        else    return false;
    }
3.入队
    bool EnQueue(SqQueue &Q,ElemType x){
        if((Q.rear+1)%MaxSize==Q.front) return false;
        Q.data[Q.rear]=x;
        Q.rear=(Q.rear+1)%MaxSize;
        return true;
    }
4.出队
    bool DeQueue(SqQueue &Q,ElemType &x){
        if(Q.rear==Q.front)    return fasle;
        x=Q.data[Q.front];
        Q.front=(Q.front+1)%MaxSize;
        return true;
    }
    

 

标签:2023.09,return,22,top,bool,front,true,rear
From: https://www.cnblogs.com/dmx-03/p/17723177.html

相关文章

  • [CSP-S 2022 T1] 假期计划
    #include<cstdio>#include<vector>#include<queue>#include<algorithm>usingnamespacestd;typedeflonglongLL;constintN=2505;vector<int>G[N];intdis[N],top3[N][3];boolvis[N],ok[N][N];LLs[N];intmain(){......
  • 第十七届上海中华老字号博览会9月22日在上海展览中心启幕
    在中秋节、国庆节双节来临之际,由商务部、上海市商务委、上海市经济信息化委、黄浦区人民政府、静安区人民政府共同指导,黄浦区商务委、静安区商务委支持的第十七届上海中华老字号博览会于9月22日至24日在上海展览中心东一馆举行。作为“金秋旅游购物季”重点活动之一,本届博览会荟聚......
  • 9.22(代码测试)
    CalculateN.java1importjava.math.BigInteger;2importjava.util.Scanner;345publicclassCalculateN{67/**8*@paramargs9*/10publicstaticvoidmain(String[]args){11System.out.print("������N��&......
  • 9.22
    importjava.math.BigInteger;importjava.util.Scanner;publicclassCalculateN{/***@paramargs*/publicstaticvoidmain(String[]args){System.out.print("������N��");Scannerscanner=newScanner(System......
  • 9.22
    编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数importjava.util.ArrayList;importjava.util.List;publicclassRandomNumberGenerator{privatestaticfinallongMULTIPLIER=1664525;//线性同余发生器的乘数privatestaticfinallongINCR......
  • 9.22
    之前忘了完成动手动脑的作业,正好今天没课先写动手动脑再去想怎么完成javaweb的界面一、Math类的测试反函数在前面加a,双曲在后面加h熟练掌握数学类函数能够让之后代码中的计算变得更加方便publicclasswork{publicstaticvoidmain(String[]args){/*--......
  • 9.22动手动脑
    一、动手动脑1importjava.util.Random;publicclassRandomNumberGenerator{publicstaticvoidmain(String[]args){generateRandomNumbers(1000);}publicstaticvoidgenerateRandomNumbers(intcount){intmodulus=231-1;......
  • 2023.9.22 AT practise
    ARC083F显然每个小球必须被\((0,y)\)或\((x,0)\)中的一个收掉,那么把\(i\)的球看成一条边,链接两个机器人。因为\(2n\)个小球对应\(2n\)条边,故建图出来是一个基环树森林。考虑把每条边定向,对应的就是那个球被那个机器人收了。那么每个基环树只有两种情况(环的方向)。现......
  • 春秋云镜 - CVE-2022-28060
    VictorCMSv1.0/includes/login.php存在sql注入找到页面的登录框,看介绍应该是post类型的表单注入。上sqlmap用原本的梭发现ctf的那个表是空的,换用--file-read参数从目标中读取文件拿到flag。root@Locklytemp/tmp»sqlmap-rsql.txt--file-read"/flag"--batch......
  • 9.22动手动脑
    观察以下代码,你发现了有什么特殊之处吗?packagedongshou1;publicclassMehodOverload{publicstaticvoidmain(Stringargs[]){System.out.println("Thesquareofinteger7is"+square(7));System.out.println("Thesquareofinteger7.5is&quo......