二叉排序树是一种特殊的
二叉树,它的左子树中所有节点的值都小于根节点的值,右子树中所有节点的值都大于根节点的值。下面是用C语言实现
二叉排序树的
建立和前序
遍历输出的代码:
#include <stdio.h>#include <stdlib.h>typedef struct Node {int data;struct Node* left;struct Node* right;} Node;Node* createNode(int data) {Node* newNode = (Node*)malloc(sizeof(Node));newNode->data = data;newNode->left = NULL;newNode->right = NULL;return newNode;}void insert(Node root, int data) {if (*root == NULL) {*root = createNode(data);return;}if (data <= (*root)->data) {insert(&((*root)->left), data);} else {insert(&((*root)->right), data);}}void preorder(Node* root) {if (root == NULL) {return;}printf("%d ", root->data);preorder(root->left);preorder(root->right);}int main() {Node* root = NULL;int arr[] = {8, 5, 12, 3, 6, 10, 14};int n = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < n; i++) {insert(&root, arr[i]);}printf("前序遍历结果:");preorder(root);return 0;}
上面的代码中,我们使用了递归方式来实现
二叉排序树的
建立和前序
遍历输出。在主函数中,我们定义了一个整型数组,将数组中的元素插入到
二叉排序树中。最后,我们通过调用preorder函数来输出
二叉排序树的前序
遍历结果。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10593.html