Просмотр исходного кода

add specification of Sorting class and Hanoi class.

171870002 5 лет назад
Родитель
Сommit
c8d7290416

+ 19 - 0
src/main/java/com/example/data_structure/domain/Hanoi.java

@@ -1,4 +1,23 @@
 package com.example.data_structure.domain;
 
 public class Hanoi {
+    private int n; //圆盘个数
+    private String a; //需移动位置
+    private String b; //需借助的位置
+    private String c; //移动的目的地
+
+
+    /**
+     *
+     * @param n 圆盘个数
+     * @param a 需移动位置
+     * @param b 需借助的位置
+     * @param c 移动目的地
+     */
+    public Hanoi(int n, String a, String b, String c) {
+        this.n = n;
+        this.a = a;
+        this.b = b;
+        this.c = c;
+    }
 }

+ 67 - 0
src/main/java/com/example/data_structure/domain/Sorting.java

@@ -1,4 +1,71 @@
 package com.example.data_structure.domain;
 
+import java.util.ArrayList;
+
 public class Sorting {
+    private int size; //元素个数
+    private String elementType; //可以有 String,int,double,char 四种值
+    private ArrayList<Object> content; //内容
+    private boolean isDesc; //规则是否为降序
+
+    /**
+     * 构造方法
+     * @param elementType
+     * @param content
+     * @param isDesc
+     */
+    public Sorting(String elementType, ArrayList<Object> content, boolean isDesc) {
+        this.elementType = elementType;
+        this.content = content;
+        this.isDesc = isDesc;
+    }
+
+    /**
+     *判断是否需要交换顺序(结合规则是否为降序和比较结果判断)
+     * @param compareResult a b比较的结果
+     * @return
+     */
+    private boolean isReverse(boolean compareResult){
+        return false;
+    }
+
+    private boolean charCompare(char a,char b){
+        return false;
+    }
+
+    private boolean stringCompare(String a,String b){
+        return false;
+    }
+
+    private boolean intCompare(int a,int b){
+        return false;
+    }
+
+    private boolean doubleCompare(double a,double b){
+        return false;
+    }
+
+    /**
+     * 记录冒泡排序每一趟中每一次交换的结果
+     * @return
+     */
+    public ArrayList<ArrayList<Object>> bubbleSort(){
+        return null;
+    }
+
+    /**
+     * 记录插入排序每插入一个数之后的结果
+     * @return
+     */
+    public ArrayList<ArrayList<Object>> insertionSort(){
+        return null;
+    }
+
+    /**
+     * 记录选择排序每选择一个数之后的结果
+     * @return
+     */
+    public ArrayList<ArrayList<Object>> selectionSort(){
+        return null;
+    }
 }

+ 4 - 9
src/main/java/com/example/data_structure/domain/Stack.java

@@ -11,32 +11,27 @@ public class Stack {
     private ArrayList<Object> content;
 
     /**
-     * 全参数构造方法
+     * 指定最大容量的构造方法
      * @param capacity
-     * @param size
      * @param elementType
      * @param content
      */
-    public Stack(int capacity, int size, String elementType, ArrayList<Object> content) {
+    public Stack(int capacity,String elementType, ArrayList<Object> content) {
         this.capacity = capacity;
-        this.size = size;
         this.elementType = elementType;
         this.content = content;
     }
 
     /**
      * 不指定最大容量的构造方法
-     * @param size
      * @param elementType
      * @param content
      */
-    public Stack(int size, String elementType, ArrayList<Object> content) {
-        this.size = size;
+    public Stack( String elementType, ArrayList<Object> content) {
         this.elementType = elementType;
         this.content = content;
     }
 
-
     private boolean isFull(){
         return false;
     }
@@ -59,7 +54,7 @@ public class Stack {
     public boolean pop(){
         return false;
     }
-    
+
     public void makeEmpty(){
 
     }