void Insert (TList<Tdata>* l, Tdata info) { TLNode<Tdata>* box = new TLNode<Tdata>; box->info=info; if(IsEmpty(l)) Push_back(l,info); else { if(!isEnd(l)) { if(l->first == l->window) { l->first->prev=box; box->next=l->first; box->prev=NULL; l->first=box; } else { box->next=l->window; box->prev=l->window->prev; l->window->prev=box; box->prev->next=box; } l->window=box; } } }
/* Função que retorna uma lista com os bits que estão setados. */ vector SettedBits(bitmask obj) { int i = 0; vector retorno; InitEmptyVector(&retorno); for(i = 0; i < obj.size; i++) if(obj.mask[i]) Push_back(&retorno, i); return retorno; }