Publish the C codes to the docs. (#469)

This commit is contained in:
Yudong Jin
2023-04-18 20:21:31 +08:00
committed by GitHub
parent 6723cdbc7e
commit dbc4906582
29 changed files with 288 additions and 189 deletions

View File

@@ -7,15 +7,15 @@
#include "../include/include.h"
/* AVL Tree */
struct avlTree {
struct aVLTree {
TreeNode *root;
};
typedef struct avlTree avlTree;
typedef struct aVLTree aVLTree;
/* 构建 AVL 树 */
avlTree *newAVLTree() {
avlTree *tree = (avlTree *)malloc(sizeof(avlTree));
aVLTree *newAVLTree() {
aVLTree *tree = (aVLTree *)malloc(sizeof(aVLTree));
tree->root = NULL;
return tree;
}
@@ -134,7 +134,7 @@ TreeNode *insertHelper(TreeNode *node, int val) {
}
/* 插入节点 */
void insert(avlTree *tree, int val) {
void insert(aVLTree *tree, int val) {
tree->root = insertHelper(tree->root, val);
}
@@ -183,12 +183,12 @@ TreeNode *removeHelper(TreeNode *node, int val) {
/* 删除节点 */
// 由于引入了 stdio.h ,此处无法使用 remove 关键词
void removeNode(avlTree *tree, int val) {
void removeNode(aVLTree *tree, int val) {
TreeNode *root = removeHelper(tree->root, val);
}
/* 查找节点 */
TreeNode *search(avlTree *tree, int val) {
TreeNode *search(aVLTree *tree, int val) {
TreeNode *cur = tree->root;
// 循环查找,越过叶节点后跳出
while (cur != NULL) {
@@ -207,13 +207,13 @@ TreeNode *search(avlTree *tree, int val) {
return cur;
}
void testInsert(avlTree *tree, int val) {
void testInsert(aVLTree *tree, int val) {
insert(tree, val);
printf("\n插入节点 %d 后AVL 树为 \n", val);
printTree(tree->root);
}
void testRemove(avlTree *tree, int val) {
void testRemove(aVLTree *tree, int val) {
removeNode(tree, val);
printf("\n删除节点 %d 后AVL 树为 \n", val);
printTree(tree->root);
@@ -222,7 +222,7 @@ void testRemove(avlTree *tree, int val) {
/* Driver Code */
int main() {
/* 初始化空 AVL 树 */
avlTree *tree = (avlTree *)newAVLTree();
aVLTree *tree = (aVLTree *)newAVLTree();
/* 插入节点 */
// 请关注插入节点后AVL 树是如何保持平衡的
testInsert(tree, 1);