/* * * lista osztaly megvalositasa: list.cpp */ #include <iostream> #include "list.h" using namespace std; lista::lista() { elso = utolso = 0; // this->elso = this->utolso = 0; elemek_szama = 0; // this->elemek_szama = 0; } lista::~lista() { while ( elso ) // this->elso { elem *kurrens = elso; elso = kurrens->kovetkezo; // elso->elozo = 0; // --elemek_szama; delete kurrens; } } void lista::beszur( elem *p, int ii) { elem *uj = new elem; uj->ertek = ii; uj->elozo = uj->kovetkezo = 0; if ( !elso ) // ures a lista { elso = utolso = uj; } else if ( !p ) // nem ures lista vegere appendalunk { uj->elozo = utolso; utolso->kovetkezo = uj; utolso = uj; } else if ( p == elso ) // nem ures lista elso poziciojara szurunk be { uj->kovetkezo = elso; elso->elozo = uj; elso = uj; } else // nem ures lista kozbulso poziciojara szurunk be p ele { uj->kovetkezo = p; uj->elozo = p->elozo; uj->elozo->kovetkezo = uj; p->elozo = uj; } ++elemek_szama; } void lista::rendezve_beszur( int ii ) { elem *kurrens = elso; while ( kurrens && ii > kurrens->ertek ) { kurrens = kurrens->kovetkezo; } beszur( kurrens, ii); } void lista::kiir_elore() { elem *kurrens = elso; while ( kurrens ) { cout << kurrens->ertek << endl; kurrens = kurrens->kovetkezo; } } void lista::kiir_hatra() { elem *kurrens = utolso; while ( kurrens ) { cout << kurrens->ertek << endl; kurrens = kurrens->elozo; } }