建立一棵二叉排序樹
#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct BTNode/*樹節點定義*/
{
ElemType key;
struct BTNode *lchild;
struct BTNode *rchild;
}BTNode;
int BSTInsert(BTNode *&bt, int key)/*向二叉排序樹插入一個新的節點*/
{
if (bt == NULL)/*找到了待插入元素的位置*/
{
bt = (BTNode*)malloc(sizeof(BTNode));
bt->lchild = bt->rchild = NULL;
bt->key = key;
return 1;
}
else
{
if (key == bt->key)
return 0;
else if (key < bt->key)
return BSTInsert(bt->lchild,key);
else
return BSTInsert(bt->rchild,key);
}
}
void CreatBST(BTNode *&bt, int key[], int n)/*建立一個二叉排序樹*/
{
int i;
bt = NULL;
for (i = 0; i < n; ++i)
BSTInsert(bt,key[i]);
}
void inorder(BTNode *p)/*中序遍歷二叉樹*/
{
if (p != NULL)
{
inorder(p->lchild);
printf("%d ",p->key);
inorder(p->rchild);
}
}
int main()
{
int i,k[10];
printf("Please inter ten numbers:\n");
for (i = 0; i < 10; ++i)
scanf("%d",k+i);
BTNode * bt;
CreatBST(bt, k, 10);
printf("After sort:\n");
inorder(bt);
return 0;
}
相關文章
- 二叉樹排序樹的建立,遍歷和刪除二叉樹排序
- 怎樣推斷一棵二叉樹是全然二叉樹二叉樹
- 二叉排序樹排序
- 排序二叉樹和平衡二叉樹排序二叉樹
- 二叉查詢樹(二叉排序樹)排序
- 如何直觀形象地樹狀列印一棵二叉樹?二叉樹
- 【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法資料結構二叉樹排序演算法
- 二叉樹的應用(1)--二叉樹排序樹基本操作二叉樹排序
- js之排序二叉樹JS排序二叉樹
- 二叉排序樹 oj 2482排序
- 【筆記】二叉排序樹筆記排序
- 二叉排序樹(水題)排序
- 判斷某棵二叉樹是否二叉排序樹二叉樹排序
- js實現完全排序二叉樹、二叉搜尋樹JS排序二叉樹
- 二叉排序樹的實現排序
- 二叉排序樹BST及CRUD操作排序
- 平衡二叉樹(AVL樹)和 二叉排序樹轉化為平衡二叉樹 及C語言實現二叉樹排序C語言
- 使用javascript實現排序二叉樹(2)JavaScript排序二叉樹
- 使用javascript實現排序二叉樹(1)JavaScript排序二叉樹
- Java-二叉排序樹的刪除Java排序
- 二叉排序樹查詢,插入,刪除排序
- php 遞迴一棵樹PHP遞迴
- 如何列印一棵樹(Java)Java
- 二叉樹的建立與遍歷二叉樹
- 二叉樹建立後,如何使用遞迴和棧遍歷二叉樹?二叉樹遞迴
- 二叉查詢樹【二叉排序樹】構建和查詢演算法 PHP 版排序演算法PHP
- 一文搞定二叉排序(搜尋)樹排序
- #查詢演算法#【2】二叉排序樹演算法排序
- 線索二叉樹的原理及建立二叉樹
- c語言的二叉樹的建立C語言二叉樹
- Python 樹表查詢_千樹萬樹梨花開,忽如一夜春風來(二叉排序樹、平衡二叉樹)Python排序二叉樹
- 滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹(二叉查詢樹)和最優二叉樹二叉樹
- 查詢|有序表折半查詢判定樹|二叉排序樹|3階B-樹排序
- 資料結構之二叉樹的建立資料結構二叉樹
- 【資料結構】建立二叉樹的方法資料結構二叉樹
- 【譯】繪製一棵漂亮的樹
- CSS控制border畫一棵小樹CSS
- 將二叉排序樹BST轉換成排序的雙向連結串列排序