#include using namespace std; struct element { int wartosc ; element *nastepny ; element *poprzedni ; }; class lista { public: lista() { inf.glowa=NULL ; }; void Insertf(int x); void Insert(int x, int p); void Delete(int p); int Locate(int x); void Retrive(int p); void Next(int p); void Previous(int p); void First(); void Printlist(); void Makenull(); private : struct info { element *glowa ; }; info inf ; }; ///////////////////////////////////////////// void lista::Insertf(int x){ element *q = new element ; q->wartosc=x ; q->nastepny=NULL ; if(inf.glowa==NULL) inf.glowa=q; else { element * wsk; wsk = inf.glowa; while(wsk->nastepny!=NULL) wsk=wsk->nastepny ; wsk->nastepny=q ; } }; ///////////////////////////////////////////// void lista::Insert(int x, int p){ if(inf.glowa==NULL) {Insertf(x); return;} element * wskaznik; wskaznik=inf.glowa ; int i=1; while(i

nastepny!=NULL) { wskaznik=wskaznik->nastepny ; i++; } if(iwartosc=x ; q->nastepny=wskaznik->nastepny ; wskaznik->nastepny=q ; }; }; ///////////////////////////////////////////// void lista::Delete(int p){ if(inf.glowa!=NULL) { int i=1; element * wskaznik ; wskaznik=inf.glowa ; while(i

nastepny!=NULL) { wskaznik=wskaznik->nastepny ; i++; }; if(wskaznik->nastepny==NULL && i!=p) return; else { if(wskaznik==inf.glowa) {inf.glowa=wskaznik->nastepny; delete wskaznik;} else { element * wskaznik2 ; wskaznik2=inf.glowa ; while(inastepny ; i++; }; wskaznik2->nastepny=wskaznik->nastepny; delete wskaznik ; }; }; }; }; //////////////////////////////////////////// void lista::Printlist() { element *wskaznik ; if(inf.glowa!=NULL){ wskaznik=inf.glowa; while(wskaznik->nastepny!=NULL) { cout << wskaznik->wartosc << ", "; wskaznik = wskaznik->nastepny ; } cout << wskaznik->wartosc << endl ; } else cout << "Lista jest pusta" << endl ; }; //////////////////////////////////////////// int lista::Locate(int x) { if(inf.glowa!=NULL) { element *wskaznik ; wskaznik=inf.glowa; int i=1; while(wskaznik->wartosc!=x && wskaznik->nastepny!=NULL) { wskaznik = wskaznik->nastepny ; i++; } if(wskaznik->wartosc==x) return i; else return -1 ; } else {cout << "Lista jest pusta" << endl ; return -1 ;} }; //////////////////////////////////////////// void lista::Retrive(int p) { if(inf.glowa!=NULL) { element *wskaznik; wskaznik=inf.glowa; int i=1; while(i

nastepny!=NULL) { wskaznik = wskaznik->nastepny ; i++; } if(i==p) cout << wskaznik->wartosc << endl; } else {cout << "Lista jest pusta" << endl ; return;} }; //////////////////////////////////////////// void lista::Next(int p) { if(inf.glowa!=NULL) { element *wskaznik ; wskaznik=inf.glowa; int i=1; while(i

nastepny!=NULL) { wskaznik = wskaznik->nastepny ; i++; } if(i==p && wskaznik->nastepny!=NULL) cout << wskaznik->nastepny->wartosc << endl; else {cout << "Ciemnosc! Widze ciemnosc!"<< endl;} } else {cout << "Lista jest pusta" << endl ; return;} }; //////////////////////////////////////////// void lista::Previous(int p) { if(inf.glowa!=NULL) { element *wskaznik; wskaznik=inf.glowa; int i=1; while(inastepny!=NULL) { wskaznik = wskaznik->nastepny ; i++; } if(i==p && wskaznik->poprzedni!=NULL) cout << wskaznik->wartosc << endl; else {cout << "Ciemnosc! Widze ciemnosc!"<< endl;} } else {cout << "Lista jest pusta" << endl ; return;} }; //////////////////////////////////////////// void lista::First() { if(inf.glowa!=NULL) { cout << inf.glowa->wartosc << endl ; } else cout << "Lista jest pusta" << endl ; return; }; ///////////////////////////////////////////// void lista::Makenull() { if(inf.glowa!=NULL) { element *wskaznik; element *wskaznik2; wskaznik=inf.glowa; while(wskaznik->nastepny!=NULL) { wskaznik2=wskaznik; wskaznik = wskaznik->nastepny ; delete wskaznik2; } inf.glowa=NULL; } cout << "Lista jest pusta" << endl ; return; }; ///////////////////////////////////////////// int main() { lista test ; test.Insertf(12); test.Insertf(46); // test.Insertf(26); // test.Insertf(11); test.Insert(666,2); test.Insert(667,77); test.Printlist(); test.Next(2); test.First(); test.Makenull(); test.Printlist(); char d; cin >> d ; };