Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- typedef struct element {
- int info;
- struct element *next;
- struct element *prev;
- } termen;
- class doublelist {
- private :
- int length;
- termen *start,*current,*finalist;
- int isempty()
- {
- return (length==0);
- }
- public :
- doublelist() { length=0; }
- int showlenght() {int value=length;cout<<endl<<value;}
- int addLIFO(int value) {
- if (isempty()) {
- element *new_one=new element;
- if (new_one!=NULL)
- {
- new_one->info=value;
- new_one->next=NULL;
- new_one->prev=NULL;
- length=1;
- start=current=finalist=new_one;
- }
- return 0;
- }
- element *new_one=new element;
- if (new_one!=NULL) {
- new_one->info=value;
- new_one->next=NULL;
- new_one->prev=finalist;
- length++;
- finalist->next=new_one;
- finalist=new_one;
- }
- return 1;
- }
- int delLIFO(int *oldtop);
- int printLIST(int direction)
- {
- if(direction)
- {
- cout<<endl;
- if (!isempty())
- {
- element *carrier;
- carrier=start;
- while (carrier!=NULL) {
- cout<<carrier->info<<" ";
- carrier=carrier->next;
- }
- return 1;}
- return 0;
- }
- else
- {
- cout<<endl;
- if (!isempty())
- {
- element *carrier;
- carrier=finalist;
- while (carrier!=NULL) {
- cout<<carrier->info<<" ";
- carrier=carrier->prev;
- }
- return 1;}
- return 0;
- }
- }
- protected :
- } somelist;
- int main()
- {
- for(int i=1;i<=10;i++) somelist.addLIFO(i);
- somelist.printLIST(1);
- somelist.printLIST(0);
- }
Add Comment
Please, Sign In to add comment