用ts语言写一个二叉树结构
时间: 2023-04-04 15:00:23 浏览: 60
好的,以下是用 TypeScript 语言写一个二叉树结构的示例代码:
class BinaryTreeNode {
public value: any;
public left: BinaryTreeNode | null;
public right: BinaryTreeNode | null;
constructor(value: any) {
this.value = value;
this.left = null;
this.right = null;
}
}
class BinaryTree {
public root: BinaryTreeNode | null;
constructor() {
this.root = null;
}
public insert(value: any): void {
const newNode = new BinaryTreeNode(value);
if (!this.root) {
this.root = newNode;
return;
}
let currentNode = this.root;
while (true) {
if (value < currentNode.value) {
if (!currentNode.left) {
currentNode.left = newNode;
return;
}
currentNode = currentNode.left;
} else {
if (!currentNode.right) {
currentNode.right = newNode;
return;
}
currentNode = currentNode.right;
}
}
}
public search(value: any): BinaryTreeNode | null {
let currentNode = this.root;
while (currentNode) {
if (value === currentNode.value) {
return currentNode;
}
if (value < currentNode.value) {
currentNode = currentNode.left;
} else {
currentNode = currentNode.right;
}
}
return null;
}
}
希望这个示例代码能够帮到你!