資料結構 實驗六(二叉排序樹字元統計)
編寫一個控制檯的工程,程式可以對使用者任意輸入的字串中的字元進行統計,統計出字元、標點、數字出現的次數。根據使用者輸入的字元構建一個二叉排序樹的動態查詢表,key為字元的ACSII碼,count值為該字元出現的次數。
二叉排序樹字元統計原始碼
#include<stdio.h>
#include<string.h>
#include<malloc.h>
#define MAX_LENGTH 255
typedef struct BSTreeNode {
char ch;
int count;
struct BSTreeNode* lchild;
struct BSTreeNode* rchild;
}BSTNode;
void CreateBSTree(BSTreeNode*& BT, char ch) {
if (BT == NULL) {
BT = (BSTNode*)malloc(sizeof(BSTNode));
BT->ch = ch;
BT->count = 1;
BT->lchild = BT->rchild = NULL;
}
else if (ch == BT->ch)
BT->count++;
else if (ch < BT->ch)
CreateBSTree(BT->lchild, ch);
else
CreateBSTree(BT->rchild, ch);
}
void InOrderTraverse(BSTNode* BT) {
if (BT != NULL) {
InOrderTraverse(BT->lchild);
printf("%c->[%d]\n", BT->ch, BT->count);
InOrderTraverse(BT->rchild);
}
}
void DestroyBSTree(BSTNode* BT) {
if (BT != NULL) {
DestroyBSTree(BT->lchild);
DestroyBSTree(BT->rchild);
free(BT);
}
}
int main() {
BSTNode* BT = NULL;
int i = 0;
char str[MAX_LENGTH];
printf("請輸入字串:\n");
gets_s(str);
while (str[i] != '\0') {
CreateBSTree(BT, str[i]);
i++;
}
printf("每個字元出現的次數:\n");
InOrderTraverse(BT);
printf("\n");
DestroyBSTree(BT);
return 0;
}
相關文章
- 資料結構實驗六是否同一顆二叉樹資料結構二叉樹
- 重學資料結構(六、樹和二叉樹)資料結構二叉樹
- 資料結構與演算法:二叉排序樹資料結構演算法排序
- 資料結構(樹):二叉樹資料結構二叉樹
- 什麼是泛型?,Set集合,TreeSet集合自然排序和比較器排序,資料結構-二叉樹,資料結構-平衡二叉樹泛型排序資料結構二叉樹
- 資料結構 - 二叉樹資料結構二叉樹
- 資料結構-二叉樹資料結構二叉樹
- 資料結構實驗之二叉樹八:(中序後序)求二叉樹的深度資料結構二叉樹
- 【資料結構】查詢結構(二叉排序樹、ALV樹、雜湊技術雜湊表)資料結構排序
- 資料結構之「二叉樹」資料結構二叉樹
- 資料結構-平衡二叉樹資料結構二叉樹
- 利用PHP實現常用的資料結構之二叉樹(小白系列文章六)PHP資料結構二叉樹
- 資料結構-二叉搜尋樹的實現資料結構
- 資料結構 二叉樹遍歷資料結構二叉樹
- 【資料結構】二叉搜尋樹!!!資料結構
- 資料結構二叉樹學習資料結構二叉樹
- 資料結構-二叉樹、堆、圖資料結構二叉樹
- 資料結構-二叉搜尋樹資料結構
- 資料結構——二叉樹進階資料結構二叉樹
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 資料結構實驗三 2024_樹與圖實驗資料結構
- java實現-資料結構之二叉樹(三):線索化二叉樹Java資料結構二叉樹
- 【資料結構虛擬碼】設計判斷一棵二叉樹是否是二叉排序樹的演算法資料結構二叉樹排序演算法
- 資料結構——樹與二叉樹的遍歷資料結構二叉樹
- 重學資料結構之樹和二叉樹資料結構二叉樹
- [資料結構] 樹、二叉樹、森林的轉換資料結構二叉樹
- 資料結構系列:Objective-C實現二叉樹資料結構Object二叉樹
- 資料結構之二叉搜尋樹—Java實現資料結構Java
- 資料結構之「二叉搜尋樹」資料結構
- 資料結構☞二叉搜尋樹BST資料結構
- 《資料結構》實驗08--樹及其應用資料結構
- 資料結構 其五 樹與二叉樹學習總結資料結構二叉樹
- 重學資料結構和演算法(二)之二叉樹、紅黑樹、遞迴樹、堆排序資料結構演算法二叉樹遞迴排序
- 資料結構高階--二叉搜尋樹(原理+實現)資料結構
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 資料結構的故事之二叉樹, 字首樹, N叉樹資料結構二叉樹
- 常用資料結構之線索二叉樹資料結構二叉樹
- 資料結構和演算法:二叉樹資料結構演算法二叉樹