二叉树的建立
#include<iostream>
#define N 7
using namespace std;
typedef struct node
{struct node* leftchild;struct node* rightchild;int data;
}Node,*Bitree;//建立一個(gè)節(jié)點(diǎn)
Node * creatnode(int i)
{Node* p = new Node;p->data = i;p->leftchild = NULL;p->rightchild = NULL;return p;
}//建立一個(gè)二叉樹,首先建立一個(gè)根節(jié)點(diǎn),然后左右子對(duì)象,連接起來
Bitree creatbitree()
{Node* p[N] = { NULL };//因?yàn)槭且粋€(gè)數(shù)組,用{.....}吧所有的值包含起來for (int i = 0; i < N; i++){p[i] = creatnode(i); //創(chuàng)建結(jié)點(diǎn),用于存儲(chǔ)數(shù)據(jù)和指針對(duì)象}//下面主要是將結(jié)點(diǎn)連接起來,連城樹的結(jié)構(gòu)表,,,,就是使向?qū)?yīng)的地址連接起來,用戶z指針for (int i = 0; i < N / 2; i++){p[i]->leftchild = p[i * 2 + 1];//根節(jié)點(diǎn)的位置是i,左子樹的地址是2*i+1p[i]->rightchild = p[i * 2 + 2];}return p[0];//返回樹的根節(jié)點(diǎn)的地址
}
int main()
{Bitree T = creatbitree();return 0;
}
總結(jié)
- 上一篇: 链队列的建立、判空、入队、出队、求长、访
- 下一篇: 关于调用子函数给主函数指针分配内存