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

分销网站制作条件wordpress 滑动门效果

分销网站制作条件,wordpress 滑动门效果,域名查询解析ip,价格合理的网站建设目录 1. 队列概念2. 模拟实现队列2.1 链式队列2.2 循环队列 3. 双端队列4. 队列的应用4.1 用队列实现栈4.2 用栈实现队列 1. 队列概念 队列是一种只能在一端进行插入数据操作#xff0c;另一端进行删除数据操作的数据结构#xff0c;插入数据的叫队尾#xff0c;删除数据的… 目录 1. 队列概念2. 模拟实现队列2.1 链式队列2.2 循环队列 3. 双端队列4. 队列的应用4.1 用队列实现栈4.2 用栈实现队列 1. 队列概念 队列是一种只能在一端进行插入数据操作另一端进行删除数据操作的数据结构插入数据的叫队尾删除数据的叫队头。类似于生活中的排队打饭进入队列中只能从队伍的后面进入出队只能在队头出。队列是一种先进先出的数据结构。 2. 模拟实现队列 队列有链式结构和顺序结构两种Java中的Queue接口底层是链式结构包含方法如下 add和offer表示入队remove和poll表示出队element和peek表示获取队头的元素不删除。 2.1 链式队列 Java的Queue底层是用双向链表实现的所以我们也用双向链表模拟实现 public class MyQueueE {//使用双向链表static class ListNode {public ListNode next;//前驱public ListNode prev;//后继public Object val;//值//构造方法用于初始化public ListNode(Object val) {this.val val;}}public ListNode head;//头public ListNode tail;//尾//入队-只能从尾部入队(尾插)public void offer(E val) {ListNode newNode new ListNode(val);//第一次入队if (tail null) {head tail newNode;return;}tail.next newNode;newNode.prev tail;tail newNode;}//出队-只能从头部出队(头删)public E poll() {if (empty()) {return null;}Object ret head.val;head head.next;head.prev null;return (E) ret;}//获取队头元素public E peek() {if (empty()) {return null;}return (E)head.val;}//判断队列是否为空public boolean empty() {return head null;}}2.2 循环队列 循环队列是使用数组实现的循环队列的结果如图 循环队列的原理 循环队列看似乎结果成环其实底层是连续的数组实现循环的是队头(front)和队尾(rear)两个变量front下标表示队列的第一个元素rear下标则是队尾的下一个位置。队列为空的条件frontrear队列满了的条件rear1%数组长度 front 代码实现 public class round_robinQueueE {public Object[] elem;//数组public int front;//队头public int rear;//队尾//k表示容量public round_robinQueue(int k) {this.elem new Object[k 1];//浪费一个空间,所以申请了k1个空间}//入队一个元素public boolean offer(E value) {//满了不能插if (isFull()) {return false;}elem[rear] value;rear (rear 1) % elem.length;return true;}//出队一个元素public boolean poll() {if (isEmpty()) {return false;}front (front 1) % elem.length;return true;}//获取队头元素public E getFront() {if (isEmpty()) {return null;}return (E) elem[front];}//获取队尾元素public E Rear() {if (isEmpty()) {return null;}//rear指向的是下一个位置,不是最后一个元素,如果rear0,会越界if (rear 0) {return (E) elem[elem.length - 1];}return (E) elem[rear - 1];}public boolean isEmpty() {return front rear;}public boolean isFull() {return (rear 1) % elem.length front;} }3. 双端队列 双端队列指允许两端都可以进行入队、出队操作的队列Java中可以使用Deque这个接口有顺序实现ArrayDeque和链式实现LinkedList 4. 队列的应用 4.1 用队列实现栈 题目链接用队列实现栈 解题思路 首先只使用一个队列是不行的需要两队列。 实现逻辑 入栈操作将元素放入不为空的队列(如果是第一次入栈两个队列都可以)。出栈操作将不为空的队列中的n-1个元素放入另一个队列中最后将剩下的元素出队。获取栈顶元素将不为空的队列中所有的元素放入另一个队列中返回最后一个元素即可 代码 class MyStack {public QueueInteger q1;public QueueInteger q2;public MyStack() {q1 new LinkedList();q2 new LinkedList();}//入栈public void push(int x) {//如果都为空,在q1中添加if (empty()) {q1.offer(x);return;}if (q1.isEmpty()) {q2.offer(x);} else {q1.offer(x);}}//出栈public int pop() {//如果模拟栈为空,返回if (empty()) {return -1;}if (!q1.isEmpty()) {//q1不为空int size q1.size();for (int i 0; i size - 1; i) {q2.offer(q1.poll());}return q1.poll();} else {int size q2.size();for (int i 0; i size - 1; i) {q1.offer(q2.poll());}return q2.poll();}}//获取栈顶元素 public int top() {//如果模拟栈为空,返回if (empty()) {return -1;}if (!q1.isEmpty()) {//q1不为空int size q1.size();int ret -1;for (int i 0; i size; i) {ret q1.poll();q2.offer(ret);}return ret;} else {int size q2.size();int ret -1;for (int i 0; i size; i) {ret q2.poll();q1.offer(ret);}return ret;}}//判断模拟栈是否为空,如果两个队列都为空则为空public boolean empty() {return q1.isEmpty() q2.isEmpty();} }4.2 用栈实现队列 题目链接 用栈实现队列 解题思路 使用两个栈实现队列入队和出队的逻辑其中一个栈(s1)只进行入栈操作表示入队列另一个栈(s2)只进行出栈操作表示出队如果s2空了再将s1中所有元素都入s2这个栈 代码 class MyQueue {public StackInteger s1;public StackInteger s2;public MyQueue() {s1 new Stack();s2 new Stack();}public void push(int x) {s1.push(x);}public int pop() {if (empty()) {return -1;}//如果s2为空,把s1的所有元素拿过来if (s2.empty()) {while (!s1.empty()) {s2.push(s1.pop());}}return s2.pop();}public int peek() {if (empty()) {return -1;}//如果s2为空,把s1的所有元素拿过来if (s2.empty()) {while (!s1.empty()) {s2.push(s1.pop());}}return s2.peek();}public boolean empty() {return s1.empty() s2.empty();} }今天的内容就到这里感谢老铁们的点赞、收藏、评论~❤
http://www.hkea.cn/news/14418371/

相关文章:

  • 分销网站有哪些网页链接的视频怎么下载
  • 电子商务网站建设的阶段化分析移动端网站开发框架
  • 广东旅游网站建设方案江西南昌网站建设公司哪家好
  • 成都网站建设制作价格婚恋网站做期货现货贵金属的人
  • 长春制作网站软件西安电商网站制作
  • 三亚网站建设价格网站内页制作
  • 广东省建设工程质量安全监督检测总站网站知乎网站内容建设的逻辑
  • flash网站模板源码盐城网站建设兼职
  • 网站是如何优化的网站logo位置
  • 深圳网站制作的公司深圳app开发昌黎网站建设
  • 昭通网站建设公司永远网站建设
  • 汕头市国外网站建设公司搜索引擎营销的特点有
  • 手机网站开发在pc端西安网络推广公司
  • 什么网站发布找做效果图的苏州的网站建设
  • 哈尔滨网站制作维护有网站模板怎么建站
  • 荆州做网站公司dw软件是做什么用的
  • 哈尔滨建站免费模板建设信用卡中心网站
  • 深圳宝安商城网站建设公司wordpress手机菜单导航
  • 大寺网站建设公司多开商城
  • 做计算机题的网站网站开发合同.doc
  • 建材网站建设方案免费wap建站
  • 厦门电信网站备案网站内部链接的策略
  • 网站建设方案项目书企业公司建站平台
  • 什么网站做h5做得好淮北市官网
  • 刚做的网站怎么静安建设网站
  • 河北邯郸做wap网站攻击网站的方法
  • 网站建设进度表怎么做手机微网站建设案例及报告
  • 什么腾讯网站做任务能刷q币山西教育学会网站建设
  • wordpress如何应用插件安徽网站优化建设
  • 南京网站设计公司哪家好快站优惠券去哪里找