#include #include struct node { int data; node *right; node *left; }; class linklist { private: node *begin; node *end; node *temp; node *leftcur; node *rightcur; node *ptr; public: linklist() { begin = NULL; end = NULL; leftcur = NULL; rightcur = NULL; temp = NULL; ptr = NULL; } void insertnode(int N) { temp = new node; temp -> data = N; temp -> left = NULL; temp -> right = NULL; if(begin==NULL && end==NULL) { begin=temp; end=temp; } if(leftcur != NULL) { while(leftcur->right!=NULL) { leftcur = leftcur->right; } leftcur->right=temp; end = temp; end->left=leftcur; leftcur=leftcur->right; leftcur->right=NULL; } if(leftcur==NULL) {leftcur=temp;} } void READ(void) // to see in reverse order..write 'end' inplace of begin { ptr=begin; while(ptr!=NULL) { cout<data<right; // and then write left inplace of right } } }; void main(void) { clrscr(); linklist r; r.insertnode(10); r.insertnode(20); r.insertnode(30); r.insertnode(90); r.READ(); getch(); }