データ構造面接問題-双方向リンク作成、挿入と削除のコード
1282 ワード
暇な時間に工程でよく使われる内容をバックアップします.下の内容はデータ構造に関する面接問題です.
#include
using std::cout;
using std::endl;
public:
Node(T t):item(t),previous(0),next(0){}
T item;
};
public:
TwoWayLinkedList():length(0),head(0),tail(0){};
~TwoWayLinkedList();
int getLength(){return length;}
void add(T t);
T get(int i);
void insert(int i,T t);
void del(int i);
void display();
private:
int length;
};
head=new Node(t);
tail=head;
}
else {
}
length++;
}
int j=0;
p=p->next;
j++;
}
T item=(p->T);
return item;
}
p->next=head;
head->previous=p;
head=p;
length++;
}
else{
int j=0;
t=t->next;
j++;
}
n->next=t->next;
n->previous=t;
(t->next)->previous=n;
t->next=n;
length++;
}
}
template void TwoWayLinkedList::del(int i){ i
else{
delete head;
head=0;
tail=0;
}
head->previous=0;
delete t;
}
tail->next=0;
delete t;
}
else{
t=t->next;
i--;
}
t->next=p->next;
(p->next)->previous=t;
delete p;
}
length--;
}
}
p=t;
t=t->next;
delete p;
}
}
T item;
int i=0;
while(iget(i);
i++;
cout<