coding----1wcods----坚持第3天----352行

来源:互联网 发布:java接收http请求 编辑:程序博客网 时间:2024/05/22 06:41
#include <stdio.h>#include <stdlib.h>void function(int * pint){    pint = (int *)malloc(sizeof(int));    *pint = 10;}int main (){    int tst;    function(&tst);    printf("%d\n",tst);    return 0;}#include <stdio.h>#include <stdlib.h>void function(int ** pint){    *pint = (int *)malloc(sizeof(int));    **pint = 10;}int main (){    int *tst;    function(&tst);    printf("%d\n",*tst);    return 0;}#include <stdio.h>#include <stdlib.h>#include <stddef.h>typedef char elem;typedef enum {link,thread} pointthread;typedef struct binary_tree_node {elem data;    pointthread ltag, rtag;struct binary_tree_node *lchild, *rchild;} binary_tree_node, *binary_tree;/* 定义一个全局的变量 用于thread*/binary_tree pre = NULL;/* 使用前序的方式建立二叉树*/void create_binary_tree (binary_tree *binary_tree_tst){    printf("Create\n");    char ch = getchar();    while('\n' !=getchar());/* 清空缓存 */    if ('#' == ch)        *binary_tree_tst = NULL;    else {        *binary_tree_tst = (binary_tree_node *)malloc(sizeof(binary_tree_node));        (*binary_tree_tst)->data = ch;        create_binary_tree (&(*binary_tree_tst)->lchild);        create_binary_tree (&(*binary_tree_tst)->rchild);        }}void in_order_traverse(binary_tree binary_tree_tst){    if (binary_tree_tst == NULL)        return;    in_order_traverse (binary_tree_tst->lchild);    printf ("%c\n", binary_tree_tst->data);    in_order_traverse (binary_tree_tst->rchild);}void pre_order_traverse(binary_tree binary_tree_tst){    if (binary_tree_tst == NULL)        return;    printf ("%c\n", binary_tree_tst->data);    pre_order_traverse (binary_tree_tst->lchild);    pre_order_traverse (binary_tree_tst->rchild);}void post_order_traverse(binary_tree binary_tree_tst){    if (binary_tree_tst == NULL)        return;    post_order_traverse (binary_tree_tst->lchild);    post_order_traverse (binary_tree_tst->rchild);    printf ("%c\n", binary_tree_tst->data);}void in_threading (binary_tree binary_tree_tst) {    if (binary_tree_tst == NULL)        return;        in_threading(binary_tree_tst->lchild);    if (!binary_tree_tst->lchild) {        binary_tree_tst->ltag = thread;// thread == 1        binary_tree_tst->lchild = pre;    }    if (pre && !pre->rchild) {//pre must exit! and it's rchild == NULL        pre->rtag = thread;        pre->rchild = binary_tree_tst;    }    pre = binary_tree_tst;    in_threading(binary_tree_tst->rchild);        }   int main (){    binary_tree binary_tree_tst;    create_binary_tree (&binary_tree_tst);    in_order_traverse (binary_tree_tst);    in_threading (binary_tree_tst);    return 0;}

0 0
原创粉丝点击