您现在的位置是:主页 > news > 网站每年要交钱吗/网络营销策划方案模板

网站每年要交钱吗/网络营销策划方案模板

admin2025/6/19 6:45:38news

简介网站每年要交钱吗,网络营销策划方案模板,智慧团建注册志愿者入口,张家口做网站的下面利用一个栈(Stack)分别实现了二叉树的非递归式的前序、中序、后续遍历。代码最后&#xff0c;自定义一个People类&#xff0c;并存储在二叉树中&#xff0c;并依此利用三种遍历方法输出每个People。 import java.util.Stack;class TreeNode<K> {TreeNode<K> le…

网站每年要交钱吗,网络营销策划方案模板,智慧团建注册志愿者入口,张家口做网站的下面利用一个栈(Stack)分别实现了二叉树的非递归式的前序、中序、后续遍历。代码最后&#xff0c;自定义一个People类&#xff0c;并存储在二叉树中&#xff0c;并依此利用三种遍历方法输出每个People。 import java.util.Stack;class TreeNode<K> {TreeNode<K> le…

下面利用一个栈(Stack)分别实现了二叉树的非递归式的前序、中序、后续遍历。代码最后,自定义一个People类,并存储在二叉树中,并依此利用三种遍历方法输出每个People。

import java.util.Stack;class TreeNode<K> {TreeNode<K> left, right;K key;public TreeNode(K k) {left = null; right = null; key = k;}
}class BinaryTree<K extends Comparable<K> > { //添加 extends Comparable<K>后,K对象可以进行比较。TreeNode<K> root;public BinaryTree() {root = null;}public void createTree(TreeNode<K> node, K data) { //建立二叉树if(root == null) {root = new TreeNode<K>(data);} else {if(data.compareTo(node.key) < 0) {if(node.left == null)node.left = new TreeNode<K>(data);elsecreateTree(node.left, data);} else {if(node.right == null)node.right = new TreeNode<K>(data);elsecreateTree(node.right, data);}}}public void preOrder(TreeNode<K> root) { // 前序遍历,非递归实现。if(root != null) {Stack<TreeNode<K>> stack = new Stack<TreeNode<K>>();stack.push(root);while (!stack.isEmpty()) {TreeNode<K> tmp = stack.pop();System.out.println(tmp.key);if(tmp.right != null) stack.push(tmp.right);if(tmp.left != null) stack.push(tmp.left);}}}public void inOrder(TreeNode<K> root) { //中序遍历,非递归实现Stack<TreeNode<K>> stack = new Stack<TreeNode<K>>();while (root != null || !stack.isEmpty()) {while(root != null) {stack.push(root);root = root.left;}if (!stack.isEmpty()) {TreeNode<K> tmp = stack.pop();System.out.println(tmp.key);root = tmp.right;}}}public void postOrder(TreeNode<K> root) { //后序遍历,非递归实现Stack<TreeNode<K>> stack = new Stack<TreeNode<K>>();TreeNode<K> pre = root;                         //记录上一个输出的节点。while (root != null || !stack.isEmpty()) {while (root != null) {stack.push(root);root = root.left;}if (!stack.isEmpty()) {TreeNode<K> tmp = stack.peek().right;if(tmp == null || tmp == pre) {TreeNode<K> tmp2 = stack.pop();System.out.println(tmp2.key);pre = tmp2;root = null;} else {root = tmp;}}}}
}
class People implements Comparable<People> { // 自定义People类,并覆盖了equals,hashCode,toString方法,实现了Comparable接口。
    String name;int age;public People(String n, int a) {name = n; age = a;}@Overridepublic boolean equals(Object obj) {if(this == obj)return true;if(!(obj instanceof People))return false;return this.name.equals(((People)obj).name) && this.age == ((People)obj).age;}@Overridepublic int hashCode() {return name.hashCode()*37 + age;}@Overridepublic String toString() {return name + "," + age;}@Overridepublic int compareTo(People o) {return this.age - o.age;}
}
public class TestClass {public static void main(String[] args) {//6, 8, 7, 5, 2, 5People[] people = new People[] { new People("xue", 6),  new People("hong", 8), new People("jun", 7), new People("shang", 5),new People("hai", 2), new People("bei", 5)};BinaryTree<People> bt = new BinaryTree<People>();for (int i = 0; i < people.length; i++) {bt.createTree(bt.root, people[i]);}
//        bt.preOrder(bt.root);
//        bt.inOrder(bt.root);
        bt.postOrder(bt.root);}
}

 

转载于:https://www.cnblogs.com/lasclocker/p/4859198.html