diff --git "a/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/Family.java" "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/Family.java"
new file mode 100644
index 0000000000000000000000000000000000000000..a97e9d970ee44f277677381d67395e7418d660d4
--- /dev/null
+++ "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/Family.java"
@@ -0,0 +1,12 @@
+public class Family{
+ TV homeTV;
+ void buyTV(TV tv){
+ homeTV=tv;
+}
+void remoteControl(int m){
+ homeTV.setChannel(m);
+}
+void seeTV(){
+ homeTV.showProgram();
+}
+}
\ No newline at end of file
diff --git "a/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/MainClass.java" "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/MainClass.java"
new file mode 100644
index 0000000000000000000000000000000000000000..924d0bb320b6cc2e9f1f74f8a7f5e2fbbc91e781
--- /dev/null
+++ "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/MainClass.java"
@@ -0,0 +1,19 @@
+public class MainClass{
+ public static void main(String args[]){
+ TV haierTV=new TV();
+ haierTV.setChannel(int m);
+ m=5;
+System.out.println("haierTV的频道是"+haierTV.getChannel());
+Family zhangSanFamily=new Family();
+zhangSanFamily.buyTV(TV tv);
+TV=haierTV;
+System.out.println("zhangSanFamily开始看电视节目");
+zhangSanFamily.seeTV();
+int m=2;
+System.out.println("zhangSanFamily将电视更换到"+m+"频道");
+zhangSanFamily.remoteControl(m);
+System.out.println("haierTV的频道是"+haierTV.getChannel());
+System.out.println("zhangSanFamily再看电视节目");
+zhangSanFamily.seeTV();
+}
+}
\ No newline at end of file
diff --git "a/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/TV.java" "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/TV.java"
new file mode 100644
index 0000000000000000000000000000000000000000..48b69e00da36d3ce2ac2324acadee6f951e9cf69
--- /dev/null
+++ "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/TV.java"
@@ -0,0 +1,27 @@
+public class TV{
+int channel;
+void setChannel(int m){
+ if(m>=1){
+ channel=m;
+}
+}
+int getChannel(){
+return channel;
+}
+void showProgram(){
+switch(channel){
+ case1:System.out.println("综合频道");
+ break;
+ case2:System.out.println("经济频道");
+ break;
+ case3:System.out.println("文艺频道");
+ break;
+ case4:System.out.println("国际频道");
+ break;
+ case5:System.out.println("体育频道");
+ break;
+ default:System.out.println("不能收看"+channel+"频道");
+
+}
+}
+}
\ No newline at end of file
diff --git "a/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/User.java" "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/User.java"
new file mode 100644
index 0000000000000000000000000000000000000000..24fabb6ac1a789978a74d9406746865568a71092
--- /dev/null
+++ "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/User.java"
@@ -0,0 +1,22 @@
+public class User{
+ public static void main(String args[]){
+ Vehicle car1,car2;
+ car1=new car1();
+ car2=new car2();
+
+ car1.setPower(128);
+ car2.setPower(76);
+ System.out.println("car1的功率是:"+car1.getPower());
+ System.out.println("car2的功率是:"+car2.getPower());
+ speedUp car1=new speedUp();
+ car1.speedUp();
+ speedUp car2=new speedUp();
+ car2.speedUp();
+ System.out.println("car1目前的速度:"+car1.getSpeed());
+ System.out.println("car2目前的速度:"+car2.getSpeed());
+ car1.speedDown(10);
+ car2.speedDown(20);
+ System.out.println("car1目前的速度:"+car1.getSpeed());
+ System.out.println("car2目前的速度:"+car2.getSpeed());
+}
+}
\ No newline at end of file
diff --git "a/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/Vehicle.java" "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/Vehicle.java"
new file mode 100644
index 0000000000000000000000000000000000000000..4e7368e1ea4d6a5efa88b42c789d2dbeb9873399
--- /dev/null
+++ "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/Vehicle.java"
@@ -0,0 +1,19 @@
+public class Vehicle{
+ double speed;
+ int power;
+void speedUp(int s){
+speed+=s;
+}
+void speedDown(int d){
+speed+=d;
+}
+void setPower(int p){
+power=p;
+}
+int getPower(){
+ return power;
+}
+double getSpeed(){
+ return speed;
+}
+}
\ No newline at end of file
diff --git "a/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/\344\270\212\346\234\272\345\256\236\350\267\2654.docx" "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/\344\270\212\346\234\272\345\256\236\350\267\2654.docx"
new file mode 100644
index 0000000000000000000000000000000000000000..49d2c193aec41b6ab8df57af48ad51959a88c889
Binary files /dev/null and "b/20200340933-\346\275\230\346\230\261-\344\270\212\346\234\272\345\256\236\350\267\265/\344\270\212\346\234\272\345\256\236\350\267\2654.docx" differ
diff --git "a/20200340933\346\275\230\346\230\261/.idea/.gitignore" "b/20200340933\346\275\230\346\230\261/.idea/.gitignore"
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/.idea/.gitignore"
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git "a/20200340933\346\275\230\346\230\261/.idea/misc.xml" "b/20200340933\346\275\230\346\230\261/.idea/misc.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..05483570e041eb648703359441d61bf9a5feeb13
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/.idea/misc.xml"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/.idea/modules.xml" "b/20200340933\346\275\230\346\230\261/.idea/modules.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..3007daed6a4d82eb6e1d037c710a00d300be5706
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/.idea/modules.xml"
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/.idea/uiDesigner.xml" "b/20200340933\346\275\230\346\230\261/.idea/uiDesigner.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..e96534fb27b68192f27f985d3879e173ec77adb8
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/.idea/uiDesigner.xml"
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/.gitignore" "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/.gitignore"
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/.gitignore"
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/misc.xml" "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/misc.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..e208459b8afde5f7980720efd6bbb97f7ae24541
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/misc.xml"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/modules.xml" "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/modules.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..fb006ba1738e508e249ee811282683c655a769d5
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/modules.xml"
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/src.iml" "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/src.iml"
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/out/production/untitled/.idea/src.iml"
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTree$Node.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTree$Node.class"
new file mode 100644
index 0000000000000000000000000000000000000000..733a0881ef29b53cfcc8a108aa8b0109b7e16123
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTree$Node.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTree.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTree.class"
new file mode 100644
index 0000000000000000000000000000000000000000..caadfa0f47f227d33be2956d37ddc6a2fa2d0531
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTree.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTreeText.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTreeText.class"
new file mode 100644
index 0000000000000000000000000000000000000000..d2b39fbf94b0d5bfb436c07ad9f54e2301400e49
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinarySearchTreeText.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/BinaryTree.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinaryTree.class"
new file mode 100644
index 0000000000000000000000000000000000000000..b88506bfff0e958ff642916f4ac684a33dc311b9
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/BinaryTree.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/Desktop.iml" "b/20200340933\346\275\230\346\230\261/out/production/untitled/Desktop.iml"
new file mode 100644
index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/out/production/untitled/Desktop.iml"
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/Main.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/Main.class"
new file mode 100644
index 0000000000000000000000000000000000000000..fc1fe198f9801bbb2a25c349626b949e0191fe0e
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/Main.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/Node.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/Node.class"
new file mode 100644
index 0000000000000000000000000000000000000000..5be71508ae4f8e087dde9fdd04cd0830cb7a7d5b
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/Node.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/TwoTree$BinaryNode.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/TwoTree$BinaryNode.class"
new file mode 100644
index 0000000000000000000000000000000000000000..ca23b97f1b008dd67073ca98bc5d789b48d6085c
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/TwoTree$BinaryNode.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/TwoTree.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/TwoTree.class"
new file mode 100644
index 0000000000000000000000000000000000000000..e4d3ead8f95cb519b82201f2e617bbc8bfc9093c
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/TwoTree.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/select$BinarySearchTree$Node.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/select$BinarySearchTree$Node.class"
new file mode 100644
index 0000000000000000000000000000000000000000..e1df75303a2fa62948e854b2ca4a5438a605225b
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/select$BinarySearchTree$Node.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/select$BinarySearchTree.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/select$BinarySearchTree.class"
new file mode 100644
index 0000000000000000000000000000000000000000..089d3ba3c1dcb23b6fa7925d6b96b5d796c34505
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/select$BinarySearchTree.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/select.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/select.class"
new file mode 100644
index 0000000000000000000000000000000000000000..51f261041ec2625094e0dbeff004d76e74c2971b
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/select.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/out/production/untitled/w2.class" "b/20200340933\346\275\230\346\230\261/out/production/untitled/w2.class"
new file mode 100644
index 0000000000000000000000000000000000000000..d97b2915400c2fead274dd2b4ede5115d8cd3f7a
Binary files /dev/null and "b/20200340933\346\275\230\346\230\261/out/production/untitled/w2.class" differ
diff --git "a/20200340933\346\275\230\346\230\261/src/.idea/.gitignore" "b/20200340933\346\275\230\346\230\261/src/.idea/.gitignore"
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/.idea/.gitignore"
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git "a/20200340933\346\275\230\346\230\261/src/.idea/misc.xml" "b/20200340933\346\275\230\346\230\261/src/.idea/misc.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..e208459b8afde5f7980720efd6bbb97f7ae24541
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/.idea/misc.xml"
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/.idea/modules.xml" "b/20200340933\346\275\230\346\230\261/src/.idea/modules.xml"
new file mode 100644
index 0000000000000000000000000000000000000000..fb006ba1738e508e249ee811282683c655a769d5
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/.idea/modules.xml"
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/.idea/src.iml" "b/20200340933\346\275\230\346\230\261/src/.idea/src.iml"
new file mode 100644
index 0000000000000000000000000000000000000000..d6ebd4805981b8400db3e3291c74a743fef9a824
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/.idea/src.iml"
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/BinarySearchTree.java" "b/20200340933\346\275\230\346\230\261/src/BinarySearchTree.java"
new file mode 100644
index 0000000000000000000000000000000000000000..448bc3971cc18b9e8b2e6e613e2cd62dc54cab72
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/BinarySearchTree.java"
@@ -0,0 +1,128 @@
+public class BinarySearchTree {
+ static class Node {
+ public int val;
+ public Node left;
+ public Node right;
+
+ public Node(int val) {
+ this.val = val;
+ }
+ }
+ Node root = null;
+ public void put(int val) {
+ Node node = new Node(val);
+ //绗竴娆℃彃鍏ワ紝root == null
+ if(root == null) {
+ root = node;
+ return;
+ }
+ //涓嶆槸绗竴娆℃彃鍏 root != null
+ Node pre = null;//鐢ㄦ潵鎸囧悜cur鐨勭埗浜茶妭鐐
+ Node cur = root;
+ while (cur != null) {
+ //鍘诲彸杈规壘
+ if (cur.val < val) {
+ pre = cur;//璁板綍涓嬫鏃禼ur
+ cur = pre.right;//cur鍚戝彸鑺傜偣绉诲姩
+ }else if (cur.val > val) {//璇ュ幓宸﹁竟鎵
+ pre = cur;
+ cur = pre.left;
+ }else {//宸茬粡鏈夌浉绛夌殑鍊硷紝鍒欎笉鍋氫换浣曞鐞嗭紝鐩存帴閫鍑
+ return;
+ }
+ }
+ //姝ゆ椂cur = null锛宲re = cur鐨勬牴鑺傜偣
+ //鍒ゆ柇褰撳墠val鍜宲re鐨剉al澶у皬锛屽喅瀹氭彃鍏ュ乏杈硅繕鏄彸杈
+ if (pre.val < val) {//鎻掑叆鍒板彸鑺傜偣
+ pre.right = node;
+ }else {//鎻掑叆鍒板乏鑺傜偣
+ pre.left = node;
+ }
+ }
+ public Node get(int val) {
+ Node cur = root;
+ while (cur != null) {
+ //鎵惧埌璇ヨ妭鐐
+ if (cur.val == val) {
+ return cur;
+ }else if (cur.val < val) {//鍘诲彸杈规壘
+ cur = cur.right;
+ }else {//鍘诲乏杈规壘
+ cur = cur.left;
+ }
+ }
+ //璇存槑娌℃壘鍒
+ return null;
+ }
+ //鍒犻櫎
+ public boolean remove(int val) {
+ Node cur = root;//褰撳墠缁撶偣
+ Node pre = null;//褰撳墠鑺傜偣鐨勬牴鑺傜偣
+ //鍏堟壘鍒拌鍒犻櫎鐨勮妭鐐
+ while (cur != null) {
+ if (cur.val == val) {
+ break;
+ }else if (cur.val < val) {
+ pre = cur;
+ cur = pre.right;
+ }else {
+ pre = cur;
+ cur = pre.left;
+ }
+ }
+ //鍒ゆ柇鏄惁鎵惧埌
+ //cur涓簄ull锛岃鏄庢病鏈夋壘鍒
+ if (cur == null) return false;
+ //璇存槑鎵惧埌浜哻ur锛屽紑濮嬪垽鏂璫ur鐨勪綅缃
+ if (cur.left == null) {
+ if (cur == root) {//鏄牴鑺傜偣
+ root = cur.right;//鏇挎崲
+ }else {//涓嶆槸鏍硅妭鐐
+ if (cur == pre.left) {
+ pre.left = cur.right;
+ }else {
+ pre.right = cur.right;
+ }
+ }
+ }else if (cur.right == null) {
+ if (cur == root) {
+ root = cur.left;
+ }else {
+ if (cur == pre.left) {
+ pre.left = cur.left;
+ }else {
+ pre.right = cur.left;
+ }
+ }
+ }else {//cur鐨勫乏鍙宠妭鐐归兘涓嶄负null
+ Node minPre = cur;//鎸囧悜cur涓嬩竴鑺傜偣鐨勬牴鑺傜偣
+ Node minCur = cur.right;//cur鐨勪笅涓涓妭鐐
+ while (minCur.left != null) {
+ minPre = minCur;
+ minCur = minPre.left;
+ }
+ cur.val = minCur.val;//鍏堣鐩栨帀鍘熸潵鑺傜偣
+ //鍒ゆ柇涓嬩竴鑺傜偣鍦ㄦ牴鑺傜偣鐨勫摢涓杈
+ if (minCur == minPre.left) {
+ minPre.left = minCur.right;//鍐嶈鐩栨帀鍘熸潵鐨勪笅涓鑺傜偣
+ }else {
+ minPre.right = minCur.right;
+ }
+ }
+ return true;
+ }
+ //涓簭閬嶅巻
+ public void inOrder(Node root) {
+ if (root == null) return;
+ inOrder(root.left);
+ System.out.print(root.val + " ");
+ inOrder(root.right);
+ }
+ //鍓嶅簭閬嶅巻
+ public void preOrder(Node root) {
+ if (root == null) return;
+ System.out.print(root.val + " ");
+ preOrder(root.left);
+ preOrder(root.right);
+ }
+}
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/BinarySearchTreeText.java" "b/20200340933\346\275\230\346\230\261/src/BinarySearchTreeText.java"
new file mode 100644
index 0000000000000000000000000000000000000000..37f0eefea86a465e411a1a57d3b941756e5b3c99
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/BinarySearchTreeText.java"
@@ -0,0 +1,22 @@
+
+public class BinarySearchTreeText {
+ public static void main(String[] args) {
+ int[] arr = {7,5,45,9,26,41,2,6};
+ BinarySearchTree binarySearchTree = new BinarySearchTree();
+ for (int i = 0; i < arr.length; i++) {
+ binarySearchTree.put(arr[i]);
+ }
+ binarySearchTree.inOrder(binarySearchTree.root);
+ System.out.println();
+ binarySearchTree.preOrder(binarySearchTree.root);
+ System.out.println();
+ try {
+ System.out.println(binarySearchTree.get(45).val);
+ }catch (NullPointerException e) {
+ e.printStackTrace();
+ System.out.println("没懈媒诘");
+ }
+ System.out.println(binarySearchTree.remove(45));
+ binarySearchTree.inOrder(binarySearchTree.root);
+ }
+}
diff --git "a/20200340933\346\275\230\346\230\261/src/BinaryTree.java" "b/20200340933\346\275\230\346\230\261/src/BinaryTree.java"
new file mode 100644
index 0000000000000000000000000000000000000000..855a5b7d39875f7cc1dfdfa7ea3c9b246829ab88
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/BinaryTree.java"
@@ -0,0 +1,135 @@
+import java.util.Queue;
+import java.util.LinkedList;
+
+public class BinaryTree {
+ public Node root;
+
+ public BinaryTree(){
+ root = null;
+ }
+
+ void insert(T val){}
+
+ /*
+ * 10
+ * 5 15
+ * 3 7 12 20
+ * preOrder: 10 5 3 7 15 12 20
+ */
+ public void preOrder(){
+ preOrderTraversal(root);
+ }
+
+ private void preOrderTraversal(Node root){
+ if(root != null) {
+ // root.value // 10 鎵撳嵃鑷韩
+ System.out.print(root.value);
+ System.out.print(" ");
+
+ // 鎵撳嵃10宸﹀瓙鏍
+ preOrderTraversal(root.left);
+ // root.left.value // 5
+ // root.left.left.value // 3
+ // root.left.right.value // 7
+
+ // 鎵撳嵃鍙冲瓙鏍
+ preOrderTraversal(root.right);
+ // root.right.value // 15
+ // root.right.left.value // 12
+ // root.right.right.value // 20
+ }
+ }
+ public void inOrder(){ inOrderTraversal(root); }
+
+ /*
+ * 10
+ * 5 15
+ * 3 7 12 20
+ * preOrder: 3 5 7 10 12 15 20
+ */
+ private void inOrderTraversal(Node root){
+ if(root != null) {
+
+
+ // 鎵撳嵃10宸﹀瓙鏍
+ inOrderTraversal(root.left);
+ // root.left.left.value // 3
+ // root.left.value // 5
+ // root.left.right.value // 7
+
+ // root.value // 10 鎵撳嵃鑷韩
+ System.out.print(root.value);
+ System.out.print(" ");
+
+ // 鎵撳嵃鍙冲瓙鏍
+ inOrderTraversal(root.right);
+ // root.right.left.value // 12
+ // root.right.value // 15
+ // root.right.right.value // 20
+ }
+ }
+ public void postOrder(){postOrderTraversal(root);}
+
+ /*
+ * 10
+ * 5 15
+ * 3 7 12 20
+ * preOrder: 3 7 5 12 20 15 10
+ */
+
+ private void postOrderTraversal(Node root){
+ if(root != null) {
+
+
+ // 鎵撳嵃10宸﹀瓙鏍
+ postOrderTraversal(root.left);
+ // root.left.left.value // 3
+ // root.left.right.value // 7
+ // root.left.value // 5
+
+
+
+ // 鎵撳嵃鍙冲瓙鏍
+ postOrderTraversal(root.right);
+ // root.right.left.value // 12
+ // root.right.right.value // 20
+ // root.right.value // 15
+
+ // root.value // 10 鎵撳嵃鑷韩
+ System.out.print(root.value);
+ System.out.print(" ");
+ }
+ }
+ public void level(){
+ levelTraversal(root); //root鎸囧悜10
+ }
+
+ //灞傛閬嶅巻
+ /*
+ * 1.鎶婃牴鏀惧埌闃熷垪涓紝
+ * 2.寰幆鐩村埌闃熷垪涓虹┖
+ * 3.鎶婇槦棣栫粨鐐瑰彇鍑
+ * 4.鎶婇槦棣栫粨鐐圭殑宸﹀彸瀛╁瓙鍙栧嚭锛堟病鏈夊緱璇濓紝涓嶆彃鍏ワ級
+ */
+ public static void levelTraversal(Node root){
+ if(root==null){
+ return;
+ }
+
+ Queue queue=new LinkedList<>();
+ queue.add(root);
+
+ while(!queue.isEmpty()){
+ Node front=queue.remove();
+ System.out.print(front.value+" ");
+
+ if(front.left!=null){
+ queue.add(front.left);
+ }
+ if(front.right!=null){
+ queue.add(front.right);
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/Desktop.iml" "b/20200340933\346\275\230\346\230\261/src/Desktop.iml"
new file mode 100644
index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/Desktop.iml"
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/Main.java" "b/20200340933\346\275\230\346\230\261/src/Main.java"
new file mode 100644
index 0000000000000000000000000000000000000000..5553e47f2b5cc8376124695bb22c5b0c7cd0c8cd
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/Main.java"
@@ -0,0 +1,39 @@
+class Main {
+ public static void main(String[] args){
+ BinaryTree bt = new BinaryTree();
+ /*
+ * 10
+ * 5 15
+ * 3 7 12 20
+ * preOrder: 10 5 3 7 15 12 20
+ */
+ bt.root = new Node(10);
+ Node left1 = new Node(5);
+ bt.root.left = left1;
+ Node right1 = new Node(15);
+ bt.root.right = right1;
+
+ Node left21 = new Node(3);
+ left1.left = left21;
+ Node left22 = new Node(7);
+ left1.right = left22;
+
+ Node left23 = new Node(12);
+ Node left24 = new Node(20);
+ right1.left = left23;
+ right1.right = left24;
+
+ System.out.print("鍏堝簭閬嶅巻锛");
+ bt.preOrder();
+ System.out.println();
+ System.out.print("涓簭閬嶅巻锛");
+ bt.inOrder();
+ System.out.println();
+ System.out.print("鍚庡簭閬嶅巻锛");
+ bt.postOrder();
+ System.out.println();
+ System.out.print("灞傚簭閬嶅巻锛");
+ bt.level();
+ System.out.println();
+ }
+}
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/Node.java" "b/20200340933\346\275\230\346\230\261/src/Node.java"
new file mode 100644
index 0000000000000000000000000000000000000000..f9f9f3a8e43debb77478a87a621f903f58a3c91f
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/Node.java"
@@ -0,0 +1,11 @@
+public class Node {
+ public T value;
+ public Node left;
+ public Node right;
+
+ Node(T val){
+ value = val;
+ left = null;
+ right = null;
+ }
+}
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/src/TwoTree.java" "b/20200340933\346\275\230\346\230\261/src/TwoTree.java"
new file mode 100644
index 0000000000000000000000000000000000000000..b2d72b1e2d4fd8ab371328e766309d658477d65e
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/TwoTree.java"
@@ -0,0 +1,24 @@
+public class TwoTree {
+ static class BinaryNode
+ {
+ T data;
+ BinaryNode left;
+ BinaryNode right;
+ public BinaryNode(T data) {
+ this(data,null,null);
+ }
+ public BinaryNode( T data, BinaryNode left, BinaryNode right) {
+ this.data =data;
+ this.left = left;
+ this.right =right;
+ }
+ public BinaryNode()
+ {
+ data =null;
+ this.left = left;
+ this.right =right;
+ }
+ }
+
+
+}
diff --git "a/20200340933\346\275\230\346\230\261/src/select.java" "b/20200340933\346\275\230\346\230\261/src/select.java"
new file mode 100644
index 0000000000000000000000000000000000000000..e23532e34a5b74a75af057a7d5ef75dcb78849ab
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/select.java"
@@ -0,0 +1,133 @@
+public class select {
+
+ public class BinarySearchTree {
+ class Node {
+ public int val;
+ public Node left;
+ public Node right;
+
+ public Node(int val) {
+ this.val = val;
+ }
+ }
+ Node root = null;
+ public void put(int val) {
+ Node node = new Node(val);
+ //绗竴娆℃彃鍏ワ紝root == null
+ if(root == null) {
+ root = node;
+ return;
+ }
+ //涓嶆槸绗竴娆℃彃鍏 root != null
+ Node pre = null;//鐢ㄦ潵鎸囧悜cur鐨勭埗浜茶妭鐐
+ Node cur = root;
+ while (cur != null) {
+ //鍘诲彸杈规壘
+ if (cur.val < val) {
+ pre = cur;//璁板綍涓嬫鏃禼ur
+ cur = pre.right;//cur鍚戝彸鑺傜偣绉诲姩
+ }else if (cur.val > val) {//璇ュ幓宸﹁竟鎵
+ pre = cur;
+ cur = pre.left;
+ }else {//宸茬粡鏈夌浉绛夌殑鍊硷紝鍒欎笉鍋氫换浣曞鐞嗭紝鐩存帴閫鍑
+ return;
+ }
+ }
+ //姝ゆ椂cur = null锛宲re = cur鐨勬牴鑺傜偣
+ //鍒ゆ柇褰撳墠val鍜宲re鐨剉al澶у皬锛屽喅瀹氭彃鍏ュ乏杈硅繕鏄彸杈
+ if (pre.val < val) {//鎻掑叆鍒板彸鑺傜偣
+ pre.right = node;
+ }else {//鎻掑叆鍒板乏鑺傜偣
+ pre.left = node;
+ }
+ }
+ public Node get(int val) {
+ Node cur = root;
+ while (cur != null) {
+ //鎵惧埌璇ヨ妭鐐
+ if (cur.val == val) {
+ return cur;
+ }else if (cur.val < val) {//鍘诲彸杈规壘
+ cur = cur.right;
+ }else {//鍘诲乏杈规壘
+ cur = cur.left;
+ }
+ }
+ //璇存槑娌℃壘鍒
+ return null;
+ }
+ //鍒犻櫎
+ public boolean remove(int val) {
+ Node cur = root;//褰撳墠缁撶偣
+ Node pre = null;//褰撳墠鑺傜偣鐨勬牴鑺傜偣
+ //鍏堟壘鍒拌鍒犻櫎鐨勮妭鐐
+ while (cur != null) {
+ if (cur.val == val) {
+ break;
+ }else if (cur.val < val) {
+ pre = cur;
+ cur = pre.right;
+ }else {
+ pre = cur;
+ cur = pre.left;
+ }
+ }
+ //鍒ゆ柇鏄惁鎵惧埌
+ //cur涓簄ull锛岃鏄庢病鏈夋壘鍒
+ if (cur == null) return false;
+ //璇存槑鎵惧埌浜哻ur锛屽紑濮嬪垽鏂璫ur鐨勪綅缃
+ if (cur.left == null) {
+ if (cur == root) {//鏄牴鑺傜偣
+ root = cur.right;//鏇挎崲
+ }else {//涓嶆槸鏍硅妭鐐
+ if (cur == pre.left) {
+ pre.left = cur.right;
+ }else {
+ pre.right = cur.right;
+ }
+ }
+ }else if (cur.right == null) {
+ if (cur == root) {
+ root = cur.left;
+ }else {
+ if (cur == pre.left) {
+ pre.left = cur.left;
+ }else {
+ pre.right = cur.left;
+ }
+ }
+ }else {//cur鐨勫乏鍙宠妭鐐归兘涓嶄负null
+ Node minPre = cur;//鎸囧悜cur涓嬩竴鑺傜偣鐨勬牴鑺傜偣
+ Node minCur = cur.right;//cur鐨勪笅涓涓妭鐐
+ while (minCur.left != null) {
+ minPre = minCur;
+ minCur = minPre.left;
+ }
+ cur.val = minCur.val;//鍏堣鐩栨帀鍘熸潵鑺傜偣
+ //鍒ゆ柇涓嬩竴鑺傜偣鍦ㄦ牴鑺傜偣鐨勫摢涓杈
+ if (minCur == minPre.left) {
+ minPre.left = minCur.right;//鍐嶈鐩栨帀鍘熸潵鐨勪笅涓鑺傜偣
+ }else {
+ minPre.right = minCur.right;
+ }
+ }
+ return true;
+ }
+ //涓簭閬嶅巻
+ public void inOrder(Node root) {
+ if (root == null) return;
+ inOrder(root.left);
+ System.out.print(root.val + " ");
+ inOrder(root.right);
+ }
+ //鍓嶅簭閬嶅巻
+ public void preOrder(Node root) {
+ if (root == null) return;
+ System.out.print(root.val + " ");
+ preOrder(root.left);
+ preOrder(root.right);
+ }
+ }
+
+
+}
diff --git "a/20200340933\346\275\230\346\230\261/src/w2.java" "b/20200340933\346\275\230\346\230\261/src/w2.java"
new file mode 100644
index 0000000000000000000000000000000000000000..297a52127fb3af9c17dcc9181303c05956e394be
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/src/w2.java"
@@ -0,0 +1,54 @@
+import java.util.Queue;
+import java.util.LinkedList;
+
+public class w2 {
+ public Node root;
+
+ w2(){
+ root = null;
+ }
+
+ void insert(T val){}
+
+ /*
+ * 10
+ * 5 15
+ * 3 7 12 20
+ * preOrder: 10 5 3 7 15 12 20
+ */
+ public void preOrder(){
+ preOrderTraversal(root);
+ }
+
+ private void preOrderTraversal() {
+ }
+
+ private void preOrderTraversal(Node tree){
+ if(tree != null) {
+
+ // 锟斤拷印10锟斤拷锟斤拷锟斤拷
+ preOrderTraversal(tree.left);
+ // root.left.value // 5
+ // root.left.left.value // 3
+ // root.left.right.value // 7
+
+
+ // root.value // 10 锟斤拷印锟斤拷锟斤拷
+ System.out.print(tree.value);
+ System.out.print(" ");
+
+
+
+ // 锟斤拷印锟斤拷锟斤拷锟斤拷
+ preOrderTraversal(tree.right);
+ // root.right.value // 15
+ // root.right.left.value // 12
+ // root.right.right.value // 20
+ }
+ }
+
+
+ public void inOrder(){}
+ public void postOrder(){}
+ public void level(){}
+}
\ No newline at end of file
diff --git "a/20200340933\346\275\230\346\230\261/untitled.iml" "b/20200340933\346\275\230\346\230\261/untitled.iml"
new file mode 100644
index 0000000000000000000000000000000000000000..c90834f2d607afe55e6104d8aa2cdfffb713f688
--- /dev/null
+++ "b/20200340933\346\275\230\346\230\261/untitled.iml"
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file