Witam
Chce wykonać kolejkę priorytetową przy użyciu STL'a. Czy ktoś orientuje się może jak ma wyglądać deklaracja takiej listy list oraz wstawianie danych procesów w określone miejsce listy priorytetów. Chodzi mi o sytuację, kiedy wstawiamy proces np. o priorytecie wysoki, który już wcześniej został dodany i musimy znaleźć miejsce w liście, które przechowuję listę zadań o tym priorytecie. Może lepiej zobrazuje rysunek:
Napisałem już coś takiego, tylko teraz nie wiem jak odwołać się do listy z listy:
int main()
{
list<int> l_prio;
list<string> l_zad;
list< list<int> > listoflists;
char ch;
do
{
cout<<"============MEnU=============||"<<endl;
cout<<"wcisnij 1 by dodac zadanie"<<endl;
cout<<"wcisnij 2 by pobrac element z listy"<<endl;
cout<<"wcisnij 3 by wypisac wszystkie zadania"<<endl;
cout<<"wcisnij 4 by wypisac zadania o danym priorytecie"<<endl;
cout<<"wcisnij q by wyjsc z programu"<<endl;
cout<<"podaj liczbe: ";
cin>>ch;
switch (ch)
{
case '1':
{
system("CLS");
string nazw_zad;
cout<<"Podaj nazwe zadania: ";
cin>>nazw_zad;
int prio;
cout<<"Podaj priorytet zadania od 1 do 6 (1-highest priority): ";
cin>>prio;
list<int>::const_iterator i;
bool jest=false;
for(i=l_prio.begin(); i!=l_prio.end(); ++i)
if (*i==prio) {jest=true; break;}
if (jest==false)
{
l_prio.push_front(prio);
listoflists.push_front(l_prio);
}
else
l_zad.push_front(nazw_zad);
listoflists.push_front(l_prio);
system("CLS");
break;
}
case '2':
{
cout<<"Podaj priorytet zadania od 1 do 6 (1-highest priority): ";
}
}
}
while(ch != 'q');
return 0;