SHOW:
|
|
- or go back to the newest paste.
| 1 | #include<iostream> | |
| 2 | using namespace std; | |
| 3 | ||
| 4 | typedef struct element {
| |
| 5 | int info; | |
| 6 | struct element *next; | |
| 7 | struct element *prev; | |
| 8 | } termen; | |
| 9 | class doublelist {
| |
| 10 | private : | |
| 11 | int length; | |
| 12 | termen *start,*current,*finalist; | |
| 13 | int isempty() | |
| 14 | {
| |
| 15 | return (length==0); | |
| 16 | } | |
| 17 | public : | |
| 18 | doublelist() { length=0; }
| |
| 19 | int showlenght() {int value=length;cout<<endl<<value;}
| |
| 20 | int addLIFO(int value) {
| |
| 21 | ||
| 22 | if (isempty()) {
| |
| 23 | element *new_one=new element; | |
| 24 | if (new_one!=NULL) | |
| 25 | {
| |
| 26 | new_one->info=value; | |
| 27 | new_one->next=NULL; | |
| 28 | new_one->prev=NULL; | |
| 29 | length=1; | |
| 30 | start=current=finalist=new_one; | |
| 31 | } | |
| 32 | return 0; | |
| 33 | } | |
| 34 | element *new_one=new element; | |
| 35 | if (new_one!=NULL) {
| |
| 36 | new_one->info=value; | |
| 37 | new_one->next=NULL; | |
| 38 | new_one->prev=finalist; | |
| 39 | length++; | |
| 40 | finalist->next=new_one; | |
| 41 | finalist=new_one; | |
| 42 | } | |
| 43 | return 1; | |
| 44 | } | |
| 45 | int delLIFO(int *oldtop); | |
| 46 | int printLIST(int direction) | |
| 47 | {
| |
| 48 | ||
| 49 | if(direction) | |
| 50 | {
| |
| 51 | cout<<endl; | |
| 52 | if (!isempty()) | |
| 53 | {
| |
| 54 | element *carrier; | |
| 55 | carrier=start; | |
| 56 | while (carrier!=NULL) {
| |
| 57 | cout<<carrier->info<<" "; | |
| 58 | carrier=carrier->next; | |
| 59 | } | |
| 60 | ||
| 61 | return 1;} | |
| 62 | return 0; | |
| 63 | } | |
| 64 | else | |
| 65 | {
| |
| 66 | cout<<endl; | |
| 67 | if (!isempty()) | |
| 68 | {
| |
| 69 | element *carrier; | |
| 70 | carrier=finalist; | |
| 71 | while (carrier!=NULL) {
| |
| 72 | cout<<carrier->info<<" "; | |
| 73 | carrier=carrier->prev; | |
| 74 | } | |
| 75 | ||
| 76 | return 1;} | |
| 77 | return 0; | |
| 78 | } | |
| 79 | } | |
| 80 | protected : | |
| 81 | } somelist; | |
| 82 | ||
| 83 | ||
| 84 | ||
| 85 | int main() | |
| 86 | {
| |
| 87 | for(int i=1;i<=10;i++) somelist.addLIFO(i); | |
| 88 | somelist.printLIST(1); | |
| 89 | somelist.printLIST(0); | |
| 90 | } |