您好,登錄后才能下訂單哦!
/***************** 運行 環境:http://www.anycodes.cn/zh/ 內容: 基數樹 *******************/ #include <stdio.h> #include <stdlib.h> typedef struct RadixNode { char *str; struct RadixNode *lchild, *rchild; } RadixNode; void radix_insert(RadixNode *node, char *str) { int i; for (i = 0; str[i] != '\0'; i++) { if (str[i] == '0') { if (node->lchild == NULL) node->lchild =(RadixNode*) calloc(sizeof(RadixNode), 1); node = node->lchild; } else { if (node->rchild == NULL) node->rchild = (RadixNode*)calloc(sizeof(RadixNode), 1); node = node->rchild; } } node->str = str; } void radix_preorder_walk(RadixNode *node) { if (node != NULL) { if (node->str != NULL) printf("%s\n", node->str); radix_preorder_walk(node->lchild); radix_preorder_walk(node->rchild); } } int main(void) { RadixNode *root = (RadixNode*)malloc(sizeof(RadixNode)); char ss[5][5]={"01","011","101","1010","1011"}; radix_insert(root, ss[0]); radix_insert(root, ss[1]); radix_insert(root, ss[2]); radix_insert(root, ss[3]); radix_insert(root, ss[4]); radix_preorder_walk(root); return 1; }
原文http://blog.csdn.net/dc_726/article/details/7391988
修改消除了警告與一定編譯器造成的錯誤
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。