listy + stl

0

pytanie do algorytmikow

powiedzcie mi jakie rozwiazanie jest wydajniejsze przy tworzeniu list, korzystanie z biblioteki stl czy tworzenie wlasnej listy za pomoca struktur albo kals?? mowa o c++

0

konstrukcja listy jest tak prosta, ze jezeli nie masz problemu ze wskaznikami to sam zaimplementujesz ja bez problemu. Ja osobiscie wole tworzyc wlasne niz ort! z predefiniowanych - nie zauwazylem zadnych roznic w dzialaniu programow (a mowie o listach ort! kilkunastu MB)

0

ja listy tworze wg. sposobu Adama Drozdka

class IntNode {
public:
int info;
class IntNode *next;
IntNode(int el,IntNode *ptr=0) {
info=el;
next=ptr;
}
};

class IntSLList {
public:
 IntSLList() {
 head=tail=0;
 }
 void addToHead(int);
 void addToTail(int);
 void deleteFromTail();
 void deleteFromHead();
 void print();
private:
 IntNode *head, *tail;
};

void IntSLList::addToHead(int el) 
{
head=new IntNode(el,head);
if (tail==0)
 tail=head;
}

void IntSLList::addToTail(int el)
{
if (tail!=0) {
tail->next=new IntNode(el);
tail=tail->next;
}
else
head=tail=new IntNode(el);
}

void IntSLList::print() 
{
for (IntNode *tmp=head;tmp!=0;tmp=tmp->next) {
cout << tmp->info << " ";
}
}

void IntSLList::deleteFromHead()
{
IntNode *tmp=head;
if (head==tail) {
head=tail=0;
}
else
{
head=head->next;
}
delete tmp;
}

void IntSLList::deleteFromTail()
{
if (head==tail) {
delete head;
head=tail=0;
}
else
{
IntNode *tmp;
for(tmp=head;tmp->next!=tail;tmp->next);
delete tail;
tail=tmp;
tail->next=0;
}
}

//kody umieszczaj w tagach do tego przeznaczonych - M

1 użytkowników online, w tym zalogowanych: 0, gości: 1