#include <iostream>
#include <ctime>
using namespace std;
class lista_jk
{
private:
//
class cegla
{
public:
int dana;
cegla *nast;
};
//
cegla *korzen;
cegla *ogon;
cegla *wsk;
public:
lista_jk()
{
korzen=NULL;
ogon=NULL;
wsk=NULL;
}
bool dodaj(int war, int poz=-1)
{
wsk=korzen;
cegla *n = new cegla();
n->dana = war;
if(korzen==NULL)//pusta lista
{
n->nast=NULL;
korzen=ogon=n;
return true;
}
if(poz==0)//wstawianie przed listę
{
n->nast=korzen;
korzen=n;
return true;
}
if(poz==-1)//wstawianie za listę
{
wsk=ogon;
}
else
for(int i=1;poz>i;++i)//ustawianie pozycji
{
if(wsk==ogon)
return false;
wsk=wsk->nast;
}
if(wsk==ogon)//wstawianie za listę
{
n->nast=NULL;
ogon->nast=n;
ogon=n;
return true;
}
n->nast=wsk->nast; //wstawianie do listy
wsk->nast=n;
return true;
}
void wypisz()
{
wsk=korzen;
for(int i=0;wsk!=NULL;++i)
{
cout<<"Pozycja:"<<i<<" Wartość:"<<wsk->dana<<endl;
wsk=wsk->nast;
}
}
};
int main()
{
double roznica;
cout.setf(ios::fixed);
cout.precision(6);
clock_t start, koniec;
start=clock();
lista_jk list;
bool x=true;
for(int i=0;i<100&&x==true;++i)
x=list.dodaj(i,10);
if(x==false)
cout<<"Wypad z baru!"<<endl;
else
list.wypisz();
koniec=clock();
roznica=(koniec-start)/(double)CLOCKS_PER_SEC;
cout<<"Czas wykonania:"<<roznica<<endl;
return 0;
}
Wiem że, ta implementacja listy nie jest zbyt ładna, ale prosiłbym Was o krytykę i rady jak sprawić żeby była bardziej "fachowa".