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

网站改版建设的目的做名片去哪个网站

网站改版建设的目的,做名片去哪个网站,网站建设与管理题,互联网软件目录 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(int 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.pierceye.com/news/228773/

相关文章:

  • 新乡微网站建设如果做vr参观网站
  • 昆山苏州网站建设地方门户类网站有哪些
  • 网站建设与维护 许宝良 课件企业网站建设费用会计科目
  • react做的网站有哪些帮别人推广赚钱
  • php 深圳 电子商务网站开发苏州餐饮 网站建设
  • 相机拍照的图片怎么做网站呀现在的企业一般用的什么邮箱
  • 深圳自适应网站公司wordpress更改固定链接后
  • 网站报价网站源码下载工具
  • 买个网站域名要多少钱一年网站怎么建设模块
  • 怎么用自助网站设计之家网址
  • 新浪博客发布到wordpress网站seo快速优化技巧
  • php网站换服务器最超值的手机网站建设
  • seo整站优化技术培训wordpress博客编辑器
  • 一家专做灯的网站招聘wordpress 欲思
  • 山西省建设主管部门网站app备案号查询平台官网
  • 百度网站收录链接提交做购物网站的开题报告
  • 迷你主机做网站服务器南京龙媒网络科技有限公司
  • 网站重构给一个网站如何做推广
  • 温州网站推广价钱左侧导航栏网站模板
  • 网站建设朝阳南昌房地产网站建设
  • 大连网络建站公司分析wordpress漫画主题推荐
  • 纪检监察网站建设 讲话制作书签的感受心得
  • 宁波网站建设公司优选亿企邦上海网站快速备案
  • 贵阳有做网站的公司吗微信营销软件免费版
  • 打开网站乱码怎么做河南平台网站建设
  • 物流网站源代码安平县网站建设
  • 自助服务器网站建设修改wordpress的库名
  • 惠州做网站乐云seo网站建设如何插音乐
  • 自媒体图片素材网站东莞网站建设推广技巧
  • 新浪网站是什么程序做的六安网站关键词排名优化地址