📄 alg-06.cd
字号:
/* ============================================================================ Name : Alg-06.cpp Author : Zunyi Tang Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ============================================================================ */#include <stdio.h>#include <stdlib.h>struct node { struct node *right; char key; struct node *left;};typedef struct node * NodePointer;void treeinitialize(void);NodePointer makenode(char c);void preorder(NodePointer node);void inorder(NodePointer node);void postorder(NodePointer node);NodePointer head, tail;int main(void) { treeinitialize(); /* テスト脱の腾を侯喇 */ head->right=makenode('+'); head->right->left=makenode('1'); head->right->right=makenode('*'); head->right->right->left=makenode('2'); head->right->right->right=makenode('3'); /* トラバ〖ス */ printf("preorder: "); preorder(head->right); printf("\n"); printf("inorder: "); inorder(head->right); printf("\n"); printf("postorder: "); postorder(head->right); printf("\n"); return 0;}void treeinitialize(void){ head=makenode(-1); tail=makenode(-1); head->right=tail; head->left=tail;}/* * ノ〖ドを侯喇し、そのノ〖ドへのポインタを手す。 */NodePointer makenode(char c){ NodePointer x; x=malloc(sizeof(struct node)); x->key=c; x->right=tail; x->left=tail; return x;}void preorder(NodePointer node){ if(node!=tail){ printf("%c ", node->key); preorder(node->left); preorder(node->right); }}void inorder(NodePointer node){ if(node!=tail){ inorder(node->left); printf("%c ", node->key); inorder(node->right); }}void postorder(NodePointer node){ if(node!=tail){ postorder(node->left); postorder(node->right); printf("%c ", node->key); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -