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

360网站做二维码广告毕业设计作品网站

360网站做二维码,广告毕业设计作品网站,电商网站竞价推广的策略,怎样一个域名做两个网站目录 ​​一、栈(Stack):后进先出​ ​​1.1 什么是栈​ ​​1.2 栈的使用​​ ​​1.3 栈的模拟实现​ ​​1.4 栈的经典应用​​ ​​二、队列(Queue):先进先出​ ​​2.1 什么是队列 2.2 队列的使…

目录

 ​​一、栈(Stack):后进先出​

​​1.1 什么是栈​

​​1.2 栈的使用​​

​​1.3 栈的模拟实现​

​​1.4 栈的经典应用​​

 ​​二、队列(Queue):先进先出​

​​2.1 什么是队列

2.2 队列的使用​

​​2.3 队列的模拟实现​​

2.4 循环队列:空间利用

三、双端队列(Deque):双向操作​


 ​​一、栈(Stack):后进先出

​1.1 什么是栈

栈是一种​​只能在一端操作​​的线性表,遵循​​后进先出(LIFO)​​原则。想象一下叠盘子:你只能从最上面拿盘子,最后放上去的盘子会被最先取走。栈的两个核心操作是:

  • ​压栈(Push)​​:将数据放到栈顶。
  • ​出栈(Pop)​​:从栈顶移除数据。

​现实中的例子​​:浏览器的“后退”按钮(最近访问的页面最先返回)、函数调用时的执行栈。

​1.2 栈的使用​

Java中的Stack类提供了简单易用的方法:

方法功能
Stack()创建一个空栈
push(E e)压栈,返回元素
pop()弹出栈顶元素
peek()查看栈顶元素(不删除)
size()返回栈中元素个数
empty()判断栈是否为空
public static void main(String[] args) {Stack<Integer> s = new Stack<>();s.push(1);s.push(2);s.push(3);System.out.println(s.size());  // 输出3System.out.println(s.peek());  // 输出3(栈顶元素)s.pop();                       // 弹出3if (s.empty()) {System.out.println("栈空");} else {System.out.println(s.size());  // 输出2}
}
​1.3 栈的模拟实现​

栈的底层可以用数组或链表实现。Java的Stack继承自Vector(线程安全的动态数组),但实际开发中更推荐用LinkedList或自己实现。

public class MyStack {private int[] data;private int top; // 栈顶指针public void push(int val) {if (top == data.length) throw new StackOverflowError();data[top++] = val;}public int pop() {if (top == 0) throw new EmptyStackException();return data[--top];}
}
​1.4 栈的经典应用​

括号匹配​​:检查表达式中的括号是否成对。

boolean isValid(String s) {Stack<Character> stack = new Stack<>();for (char c : s.toCharArray()) {if (c == '(') stack.push(')');else if (c == '[') stack.push(']');else if (c == '{') stack.push('}');else if (stack.isEmpty() || stack.pop() != c) return false;}return stack.isEmpty();
}

 ​​二、队列(Queue):先进先出

​2.1 什么是队列

队列是一种​​只能在队尾插入、队头删除​​的线性表,遵循​​先进先出(FIFO)​​原则。就像排队买奶茶:先来的人先拿到奶茶,后来的人排在队尾。

2.2 队列的使用​

Java中队列通过Queue接口实现,常用LinkedList

方法功能
offer(E e)入队,返回是否成功
poll()出队(返回队头元素)
peek()查看队头元素(不删除)
size()返回队列元素个数
isEmpty()判断队列是否为空
public static void main(String[] args) {Queue<Integer> q = new LinkedList<>();q.offer(1);q.offer(2);q.offer(3);System.out.println(q.peek());  // 输出1q.poll();                      // 移除1System.out.println(q.size());  // 输出2
}
​2.3 队列的模拟实现​

队列更适合用链表实现(因为插入和删除发生在两端)。

class Node {int val;Node next;
}public class MyQueue {private Node front; // 队头private Node rear;  // 队尾public void offer(int val) {Node newNode = new Node(val);if (rear == null) {front = rear = newNode;} else {rear.next = newNode;rear = newNode;}}public int poll() {if (front == null) throw new NoSuchElementException();int val = front.val;front = front.next;if (front == null) rear = null;return val;}
}
2.4 循环队列:空间利用

当队列空间固定时,循环队列可以避免“假溢出”。核心技巧是通过取模运算实现下标循环:

  • ​入队​​:rear = (rear + 1) % array.length
  • ​出队​​:front = (front + 1) % array.length

​如何区分队列空与满?​

  1. ​记录元素个数​​:通过size变量判断。
  2. ​保留一个空位​​:当(rear + 1) % size == front时认为队列已满。

三、双端队列(Deque):双向操作

双端队列允许在两端插入和删除,既能当栈用,也能当队列用。

Deque<Integer> stack = new ArrayDeque<>();  // 当作栈
stack.push(1);
stack.pop();Deque<Integer> queue = new LinkedList<>();  // 当作队列
queue.offer(1);
queue.poll();

完 ~~


文章转载自:

http://hGlb6JMY.rzcbk.cn
http://GgLpEyZP.rzcbk.cn
http://ZHjC38KD.rzcbk.cn
http://JdI6DaDs.rzcbk.cn
http://73YywMPI.rzcbk.cn
http://aW2q6D18.rzcbk.cn
http://LSzTCN86.rzcbk.cn
http://T7CpSjU4.rzcbk.cn
http://Hbd6ws8N.rzcbk.cn
http://XQOBoVOm.rzcbk.cn
http://z4xB4gRk.rzcbk.cn
http://2EikcIBv.rzcbk.cn
http://15IjKeu0.rzcbk.cn
http://eOuYdeEr.rzcbk.cn
http://E6fLO13Y.rzcbk.cn
http://WYXMjW2W.rzcbk.cn
http://dXuGWTWm.rzcbk.cn
http://SdqIC8Es.rzcbk.cn
http://YCVrcl8C.rzcbk.cn
http://z9zLAKge.rzcbk.cn
http://ocW133Or.rzcbk.cn
http://pr7M5glN.rzcbk.cn
http://TTizums6.rzcbk.cn
http://lFjRkOnH.rzcbk.cn
http://kn8wSkMC.rzcbk.cn
http://c6ydKw2F.rzcbk.cn
http://A5waQlJA.rzcbk.cn
http://9Dji9okx.rzcbk.cn
http://kgv4btB1.rzcbk.cn
http://JWmNH26W.rzcbk.cn
http://www.dtcms.com/wzjs/638368.html

相关文章:

  • 织梦手机网站分亨链接怎么做wordpress 中文手册
  • 沈阳建设厅网站微信怎么开团购卖东西
  • 如何做实验室网站seo兼职外包
  • 做网站待遇广州学校网站建设
  • 网站服务器租用恒创东莞关键词排名快速优化
  • 电商网站建设服务专门做二手手机的网站
  • 医疗网站建设wordpress媒体库是空的
  • 工程建设资料员报名网站响应式布局网站案例
  • 什么网站可以做拍a发布会网站首页psd
  • 香河住房与建设局网站360极速怎么屏蔽网站
  • 衡水市建设局网站营销型企业网站例子
  • ui设计的推荐网站及网址广联达工程造价软件官网
  • vs做网站如何调试wordpress标签工具栏
  • 查内部券的网站是怎么做的delphi网站开发
  • 苏州市高新区建设局网站国外免费建站
  • 网站建设 任务网站开发有哪些常用工具
  • 江苏建设人才的网站wordpress 家教主题
  • 临沂企业建站模板wordpress获取文章id方法
  • 成都网站seo推广wordpress pro版
  • oa网站建设价格西安竞价托管代运营
  • 网站开发用到的研究方法公司建设内容是什么
  • 广西城乡建设厅网站首网站模板 整站源码下载
  • 网站开发工程师培训班wordpress促销插件
  • 个人网站建设素材易企秀h5制作教程
  • 传统企业公司网站优化案例wordpress+搭建知识库
  • 手做网站张家港高端网站制作
  • 网站项目维护费用东莞定制网站开发
  • 湖南广源建设工程有限公司网站淘宝开店后怎么运营
  • 做app网站需要什么条件深圳专业网站公司
  • 中国免费网站服务器百度推广关键词排名在哪看