i'd like to get more control like in c with pointers. I want to loose the data after disabling:
>>> list=[] >>> list.append(Node(1)) >>> list.append(Node(2)) >>> list[0].next=list[1] 1, 2 >>> list.append(Node(3)) >>> list[1].next=list[2] 1,2,3 >>> list[0].next=list[2] 1,3 (but 2 still exists as list[2]) as much simmilar as this: #include<stdio.h> #include<stdlib.h> typedef int element; struct Lis { int values[10000]; int cursor; }; typedef struct Lis list; int FirstL(list *Li){ return(0); } int EndL(list *Li){ return((*Li).cursor); } element NextL(element p, list *Li){ if ((p>=(*Li).cursor) || (p<0)) { printf("Element ne postoji u listi ! \n"); exit(0); } else return(p+1); } element PreviousL(element p, list *Li){ if ((p>(*Li).cursor) || (p<=0)) { printf("Element ne postoji u listi ! \n"); exit(0); } else return(p-1); } element LocateL(int x, list *Li){ int i; i=0; while ((i!= (*Li).cursor) && ((*Li).values[i]!=x)) i++; return(i); } void InsertL(int x, element p, list *Li){ int i; if ((p<=(*Li).cursor) && (p>=0) && ((*Li).cursor<10000)) { for (i=(*Li).cursor; i>=p; i--) (*Li).values[i]=(*Li).values[i-1]; (*Li).cursor++; (*Li).values[p]=x; } else { if((*Li).cursor>=10000) printf("Lista je puna"); else printf("Element ne postoji u listi ! \n"); exit(0); } } void DeleteL(element p, list *Li){ int i; if ((p<(*Li).cursor) && (p>=0)) { for (i=p; i<(*Li).cursor; i++) (*Li).values[i]=(*Li).values[i+1]; (*Li).cursor--; } else { printf("Element ne postoji u listi ! \n"); exit(0); } } int RetrieveL(element p, list *Li){ if ((p<(*Li).cursor) && (p>=0)) return((*Li).values[p]); else { printf("Element ne postoji u listi ! \n"); exit(0); } } void DeleteAllL(list *Li){ (*Li).cursor=0; } void InitL(list *Li){ (*Li).cursor=0; } -- http://mail.python.org/mailman/listinfo/python-list