数据结构——树的简单操作集合
生活随笔
收集整理的這篇文章主要介紹了
数据结构——树的简单操作集合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
非常多數據結構的書上解說數據機構時都是採用偽代碼實現。事實上感覺蠻不直觀的。所以對于全部的數據結構操作我都將其用C實現一遍。
樹是學習二叉樹的基礎,也是后面理解B樹。B+樹的等樹的基礎,以下就給出樹的幾個簡單操作,方便理解。
數據結構
//-------數據結構---------------------------------------- #define m 3 //定義度為3的樹 typedef char datatype; typedef struct node {datatype data;struct node* child[m]; }treenode; //------------------------------------------------------基本操作
//--------操作------------------------------------------ void preorder(treenode* t) {int i;if (t){printf("%c",t->data);for(i=0;i<m;i++){preorder(t->child[i]);}} }void postorer(treenode* t) {int i;if (t){for(i =0;i<m;i++){postorer(t->child[i]);}printf("%c",t->data);} } //必須用指針的指針,假設實參是一個指針,則形參僅僅是一個實參指針的拷貝,所以實參指針的值是不會改變的。 void createtree(treenode** p) {//輸入的時候直接輸AB###C###D###回車int i;char ch;scanf("%c",&ch);if (ch =='#'){*p = NULL;}else{*p = (treenode*)malloc(sizeof(node));(*p)->data = ch;for (i =0;i<m;i++){createtree(&((*p)->child[i]));}} } //------------------------------------------------------對于樹的操作不須要做太多,大多數都是針對二叉樹的操作,所以就給出了簡單的幾個操作,足矣。
轉載于:https://www.cnblogs.com/clnchanpin/p/7063096.html
總結
以上是生活随笔為你收集整理的数据结构——树的简单操作集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类及对象
- 下一篇: [转]emailjs-smtp-clie