| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
突然强迫症发了,贴个代码#include <iostream>
using namespace std;
const int DEEPTH = 100;
const int WIDTH = 100;
class node
{
public:
node(char data);
void set_rchild(node *rchild);
void set_lchild(node *lchild);
char get_data();
node **get_rchild();
node **get_lchild();
private:
const char _data;
node *_lchild;
node *_rchild;
};
class tree
{
public:
tree();
void insert(char data);
~tree();
private:
node *_head;
void _delete_one(node *pointer);
void _do_insert(node **pointer, char data);
void _do_print(node *pointer);
};
node::node(char data): _data(data), _lchild(NULL), _rchild(NULL) {};
void node::set_lchild(node *lchild)
{
_lchild = lchild;
}
void node::set_rchild(node *rchild)
{
_rchild = rchild;
}
char node::get_data()
{
return _data;
}
node **node::get_rchild()
{
return & _rchild;
}
node **node::get_lchild()
{
return & _lchild;
}
tree::tree(): _head(NULL) {};
void tree::insert(char data)
{
_do_insert(&_head, data);
}
void tree::_do_insert(node **pointer, char data)
{
if (NULL == *pointer)
{
*pointer = new node(data);
}
else
{
if ((*pointer)->get_data() > data)
{
_do_insert((*pointer)->get_lchild(), data);
}
else
{
_do_insert((*pointer)->get_rchild(), data);
}
}
return;
}
void tree::_do_print(node *pointer)
{
if ( NULL != pointer)
{
cout<<pointer->get_data();
_do_print(*(pointer->get_lchild()));
_do_print(*(pointer->get_rchild()));
delete pointer;
}
return;
}
tree::~tree()
{
_do_print(_head);
cout<<endl;
}
int main(int argc,char ** argv)
{
char data[DEEPTH][WIDTH] = {0};
int deepth = 0, i = 0;
while ('$' != data[deepth][0])
{
deepth = 0;
while (cin>>data[deepth] && !(( '*' == data[deepth][0] || '$' == data[deepth][0]) && 0 == data[deepth][1]))
{
++deepth;
}
tree *t = new tree();
for (int j = deepth - 1; j >= 0; --j)
{
for (i = 0; data[j][i]; ++i)
{
t->insert(data[j][i]);
}
}
delete t;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator