Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template <typename tip>
- void DvostrukaLista<tip>::obrisi() {
- if( !lduzina) {
- Cvor *temp = tekuci;
- tekuci = tekuci->sljedeci;
- prvi = prvi->sljedeci;
- delete temp; temp = nullptr;
- dduzina--;
- //tekuci->prethodni = 0;
- //prvi->prethodni = 0;
- }
- else if( dduzina == 1 && brojElemenata() == 2)
- {
- Cvor *temp = tekuci;
- delete temp; temp = 0;
- tekuci = prvi; tekuci->sljedeci = 0; tekuci->prethodni = 0;
- zadnji = prvi; zadnji->sljedeci = 0; tekuci->prethodni = 0;
- lduzina--;
- }
- else if( dduzina == 1) // JEDINI SLUCAJ GDJE KOMPLEKSNOST NIJE O(1);
- {
- Cvor *temp = prvi;
- while( temp->sljedeci != tekuci->prethodni) temp = temp->sljedeci;
- Cvor *brisi = tekuci;
- delete brisi; brisi = 0;
- tekuci = temp->sljedeci; tekuci->prethodni = temp; tekuci->sljedeci = 0;
- zadnji = temp->sljedeci; zadnji->prethodni = temp; zadnji->sljedeci = 0;
- lduzina--;
- }
- else
- {
- Cvor *preusmjeri = tekuci->prethodni; preusmjeri->sljedeci = tekuci->sljedeci;
- Cvor *brisi = tekuci;
- tekuci = tekuci->sljedeci;
- tekuci->prethodni = preusmjeri;
- delete brisi; brisi = nullptr;
- dduzina--;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement