rendered paste body#include <iostream>using namespace std;struct element { int wartosc ; element *nastepny ; element *poprzedni ; };class lista { public:lista(){ inf.glowa=inf.ogon=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 ; element *ogon ;}; info inf ; };/////////////////////////////////////////////void lista::Insertf(int x){element *q = new element ;q->wartosc=x ;q->nastepny=NULL ;q->poprzedni=NULL ;if(inf.glowa==NULL) inf.glowa=inf.ogon=q;else { q->poprzedni=inf.ogon; inf.ogon->nastepny=q; inf.ogon=q; }//inf.licznik++; };/////////////////////////////////////////////void lista::Insert(int x, int p){if(inf.glowa==NULL) {Insertf(x); return;}element * wskaznik;wskaznik=inf.glowa ;int i=1;while(i<p && wskaznik->nastepny!=NULL){wskaznik=wskaznik->nastepny ;i++; }if(i<p) Insertf(x);else {element *q = new element ;q->wartosc=x ;q->nastepny=wskaznik ;q->poprzedni=wskaznik->poprzedni;wskaznik->poprzedni->nastepny=q;wskaznik->poprzedni=q;};};/////////////////////////////////////////////void lista::Delete(int p){if(inf.glowa!=NULL) { int i=1; element * wskaznik ; wskaznik=inf.glowa ; while(i<p && wskaznik->nastepny!=NULL) { wskaznik=wskaznik->nastepny ; i++; };if(wskaznik->nastepny==NULL && i!=p) return;else {if(wskaznik->poprzedni==NULL) {inf.glowa=wskaznik->nastepny; delete wskaznik;}else { wskaznik->poprzedni->nastepny=wskaznik->nastepny;if(wskaznik->nastepny==NULL) {inf.ogon=wskaznik->poprzedni;}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<p && wskaznik->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<p && wskaznik->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(i<p && wskaznik->nastepny!=NULL) { wskaznik = wskaznik->nastepny ; i++; } if(i==p && wskaznik->poprzedni!=NULL) cout << wskaznik->poprzedni->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; wskaznik=inf.ogon; while(wskaznik->poprzedni!=NULL) { wskaznik = wskaznik->poprzedni ; delete wskaznik->nastepny; } inf.glowa=inf.ogon=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 ;};