From 139b2d6de58078c75af60380fbbd4190016a141a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=91=BB=E5=BF=94=E6=AA=BD=E9=91=BD=3F?= <1443874734@qq.com> Date: Tue, 17 Nov 2020 23:22:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zouye2/Queue-pseudocode.java | 55 +++++++++++++++++++++++ zouye2/Queue-pseudocode2.java | 82 +++++++++++++++++++++++++++++++++++ zouye2/Stack-pseudocode.java | 43 ++++++++++++++++++ zouye2/Stack-pseudocode2.java | 60 +++++++++++++++++++++++++ 4 files changed, 240 insertions(+) create mode 100644 zouye2/Queue-pseudocode.java create mode 100644 zouye2/Queue-pseudocode2.java create mode 100644 zouye2/Stack-pseudocode.java create mode 100644 zouye2/Stack-pseudocode2.java diff --git a/zouye2/Queue-pseudocode.java b/zouye2/Queue-pseudocode.java new file mode 100644 index 0000000..2124f4a --- /dev/null +++ b/zouye2/Queue-pseudocode.java @@ -0,0 +1,55 @@ +public class MyQueue{ + private int count; + private int head; + private int tail; + private int[] arr; + + public MyQueue(){ + } + + public MyQueue(int size){ + arr = new int[size]; + head = 0; + tail = 0; + count = 0; + } + + //---------------------------------------------- + + public boolean isFull(){ + return count == arr.length; + } + + public boolean isEmpty(){ + return count == 0; + } + + public void push(int value){ + if(isFull()){ + System.out.println("队列已满,不能再添加元素了!!!!"); + return; + } + count++; + arr[tail++] = value; + } + + public void pop(){ + if(isEmpty()){ + System.out.println("队列已空"); + return; + } + int temp = head; + + System.out.println(arr[head]+"出列"); + count--; + head = (head == arr.length - 1 ? head : head+1); + arr[temp]=0; + } + + public void printQueue(){ + for(int i = 0;i <= arr.length-1 ;i++){ + System.out.print(arr[i]+" "); + } + System.out.println(""); + } +} \ No newline at end of file diff --git a/zouye2/Queue-pseudocode2.java b/zouye2/Queue-pseudocode2.java new file mode 100644 index 0000000..e7625be --- /dev/null +++ b/zouye2/Queue-pseudocode2.java @@ -0,0 +1,82 @@ +public class LLQueue{ + MyNode head; + MyNode tail; + int count; + int maxSize; + + public LLQueue(){ + } + + public LLQueue(int size){ + maxSize = size; + head = null; + tail = null; + count = 0; + } + + public boolean isFull(){ + return count == maxSize; + } + + public boolean isEmpty(){ + return count == 0; + } + + public void push(int value){ + if(isFull()){ + System.out.println("队列已满"); + return; + } + MyNode node = new MyNode(value); + if(count == 0){ + head = node; + tail = node; + count++; + return; + } + tail.next = node; + tail = node; + count++; + } + + public void pop(){ + if(isEmpty()){ + System.out.println("队列已空"); + return; + } + if(head == tail){ + head = null; + tail = null; + count--; + return; + } + MyNode temp = head; + head = head.next; + temp = null; + count--; + } + + public void printLLQueue(){ + if(isEmpty()){ + System.out.println("队列是空的!!!!"); + return; + } + MyNode temp = head; + while(temp.next != null){ + System.out.print(temp.element+"-->"); + temp = temp.next; + } + System.out.println(temp.element); + } +} +class MyNode{ + int element; + MyNode next; + + public MyNode(){ + } + + public MyNode(int n){ + element = n; + } +} \ No newline at end of file diff --git a/zouye2/Stack-pseudocode.java b/zouye2/Stack-pseudocode.java new file mode 100644 index 0000000..eff2bfa --- /dev/null +++ b/zouye2/Stack-pseudocode.java @@ -0,0 +1,43 @@ +锘縫ublic class Stack { + public int[] stack; + public int top; + private int size; + + Stack(int size){ + // 鏋勫缓涓涓暱搴︿负size澶у皬鐨勭┖鏁扮粍鏉ユā鎷熸爤 + this.size = size; + stack = new int[size]; + top = 0; // top姘歌繙鎸囧悜涓嬩竴涓彲鏀惧叆鐨勪綅缃 + } + + + public void push(int item){ + //鏍堥《鎻掑叆鍏冪礌 + if(top >= size ){ + System.out.println("鏍堜负婊★紒"); + }//鍒ゆ柇鏄惁鏍堟弧 + + stack[top] = item; + top++; + } + + + public int pop(){ + //绉婚櫎鏍堥《鍏冪礌锛屽苟杩斿洖鍊 + if(top <=0 ){ + System.out.println("鏍堜负绌猴紒"); + }//鍒ゆ柇鏄惁鏍堢┖ + + return stack[top--]; + } + + public int peek(){ + //鍙栨爤椤跺厓绱 + if(top <=0 ){ + System.out.println("鏍堜负绌猴紒"); + }//鍒ゆ柇鏄惁鏍堢┖ + return stack[top-1]; + } +} + + diff --git a/zouye2/Stack-pseudocode2.java b/zouye2/Stack-pseudocode2.java new file mode 100644 index 0000000..09967cb --- /dev/null +++ b/zouye2/Stack-pseudocode2.java @@ -0,0 +1,60 @@ +锘縫ublic class MyStack { + class Node { + private Node next; + public Object value; + }// 瀹氫箟缁撶偣 + + Node top = null; + + void init() { + top = new Node(); + top.next = null; + top.value = null; + }//鍒濆鍖栧ご缁撶偣 + + public void push(Object element) { + //鏍堥《鎻掑叆鍏冪礌 + Node e = new Node(); + e.value = element; + if (top.next == null) { + top.next = e; + } else { + e.next = top.next; + top.next = e; + + } + + } + + public Object pop() { + //绉婚櫎鏍堥《鍏冪礌锛屽苟杩斿洖鍊 + Object ele = null; + if (top.next == null) { + System.out.println("鏍堜负绌!"); + } else { + ele = top.next.value; + top.next = top.next.next;//绉诲姩鎸囬拡銆傜浉褰撲簬鍒犻櫎閾捐〃涓涓涓厓绱 + } + return ele; + } + + public Object peek(){ + //鍙栨爤椤跺厓绱 + if(top.next==null) + { + return -1; + } + else + return top.next.value; + } + + public int size() {//杩斿洖鏍堢殑澶у皬锛屽惈鏈夌殑鍏冪礌涓暟 + Node temp = top; + int i = 0; + while (temp.next != null) { + i++; + temp = temp.next; + } + return i; + } + } \ No newline at end of file -- Gitee