C語言樹的程式設計程式

2021-08-04 15:04:18 字數 1527 閱讀 6326

main主函式:

#include #include "tree.h"

int main()

樹的.c檔案
#include "tree.h"

#include #include #include tree* tree_create()

/*初始化新結點引數:

data = data

len = 0;

next = null

childlist:新建子節點鍊錶的頭節點,初始化相應引數

parent:

找到雙親結點,如果找到:在雙親結點的子節點鍊錶中新建子節點

子節點引數:next = null childnode = node;

將新的子結點尾插進雙親結點的子結點鍊錶當中

雙親結點的度 要 +1

*/int tree_insert(tree* tree, treedata data, int pos)

// 如果雙親結點存在,就加入到雙親結點的子結點鍊錶中

if (parent != null)

// 將新結點插入到樹的鍊錶中

treenode* tmp = tree->head;

while(tmp->next)

tmp = tmp->next;

tmp->next = node;

tree->len++;

return 1;

}void r_display(treenode *node ,int gap)

printf("%c\n",node->data);

childnode *child = node->childlist->next;

while(child) }

void display(tree *tree)

樹的.h檔案
#ifndef __tree_h__

#define __tree_h__

struct _treenode; // 型別宣告

typedef char treedata;

// 孩子結點型別

typedef struct _childnode

childnode;

typedef struct _treenode

treenode;

typedef struct _tree

tree;

// 建立通用樹

tree* tree_create();

// 也就是說 根節點的位置 是 0

int tree_insert(tree* tree, treedata data, int pos);

void display(tree *tree);

void r_display(treenode *node ,int gap);

#endif // __tree_h__

C語言程式設計 程式的記憶體布局

一 c語言程式的儲存區域 由c語言 文字檔案 形成可執行程式 二進位制檔案 需要經過編譯 彙編 連線三個階段。編譯過程把c語言文字檔案生成匯程式設計序,彙編過程把匯程式設計序形成二進位制機器 連線過程則將各個原始檔生成的二進位制機器 檔案組合成乙個檔案。c語言編寫的程式經過編譯 連線後,將形成乙個統...

C語言程式設計 C語言整數逆序輸出程式!

將乙個從鍵盤輸入的整數存放到乙個陣列中,通過程式的執行按照陣列中的逆序輸出該整數,利用遞迴的方法解決問題。設計函式實現資料的逆序存放,設定形引數組接收實參陣列的位址,來儲存資料的每一位。函式體採用遞迴的方式解決問題,因此考慮遞迴進行的條件。例如,把資料 n 存放到陣列 s 中,若 n 是一位數,則存...

判斷閏年的c語言程式 C語言程式設計例項4

漁夫打魚曬網問題 如果乙個漁夫從 2011 年 1 月 1 日開始每三天打一次漁,兩天曬一次網,程式設計實現當輸入 2011年1 月 1 日以後的任意一天,輸出該漁夫是在打漁還是在曬網。1 自定義函式 leap 用來判斷輸入的年份是否是閏年。2 自定義函式 number 用來計算輸入日期距 2011...