Materiały pomocniczne dla uczniów klasy 3

Poniżej prezentujemy przykłady wykorzystania biblioteki STL. Artykuł zawiera podstawowe polecenia oraz przykłady wykorzystania w zadaniach.

Przykładowe polecenia:

 

 

 

STACK

  • empty()
  • size()
  • top()
  • push ()
  • pop ()

QUEUE

  • empty()
  • size()
  • front()
  • push()
  • pop()

SET

  • insert()
  • size()
  • find()

PRIORITY QUEUE

  • empty()
  • size()
  • top()
  • push()
  • pop ()

VECTOR

  • begin()
  • end()
  • empty()
  • erase()
  • front()
  • insert()
  • pop_back()
  • push_back()
  • size()
  • sort()

 

 

Przykłady wykorzystania:

 

 

STL vector

#include<iostream>

#include<vector>

using namespace std;

main(){               

                vector <int> V;

                string N="QWERABCABCABCDAABBCCDDEEFFGHOABCD";

                //umieszczenie danych w wektorze     

                for(int i=0 ; i<N.length() ; i++)  

                               V.push_back(N[i]);

                //wypisanie danych z wektora 

                for(int i=0 ; i<V.size() ; i++)        

                               cout<<char(V[i]);

                cout<<"\n";                              

                //sortowanie wektora                 

                sort(V.begin(),V.end());   

                //wypisanie danych z wektora po sortowaniu  

                for(int i=0 ; i<V.size() ; i++)        

                               cout<<char(V[i]);               

                cout<<"\n";               

                system("pause");                          

                }

 

 

 

 

STL QUEUE

#include<iostream>

#include<queue>

using namespace std;

main(){               

                queue <int> Q;

                string N="QWERABCABCABCDAABBCCDDEEFFGHOABCD";

                //umieszczenie danych w kolejce          

                for(int i=0 ; i<N.length() ; i++)  

                               Q.push(N[i]);

                //wypisanie danych z kolejki    

                while(Q.size()!=0)         

                               {

                                               cout<<char(Q.front());

                                               Q.pop();

                               }      

                cout<<"\n";               

                system("pause");                          

                }

 

 

 

 

//STL priority_queue – sortuje elementy

#include<iostream>

#include<queue>

using namespace std;

main(){               

                priority_queue<int> PQ;

                string N="QWERABCABCABCDAABBCCDDEEFFGHOABCD";

                //umieszczenie danych w kolejce          

                for(int i=0 ; i<N.length() ; i++)  

                               PQ.push(N[i]);

                //wypisanie danych z kolejki    

                while(PQ.size()!=0)       

                               {

                                               cout<<char(PQ.top());

                                               PQ.pop();

                                }             

              cout<<"\n";               

              system("pause");                          

                }

 

 

 

 

//STL set - sortuje elementy, eliminuje duplikaty

#include<iostream>

#include<set>

using namespace std;

main(){               

                set <int> S;

                set <int>::iterator p;

                string N="QWERABCABCABCDAABBCCDDEEFFGHOABCD";               

                //umieszczanie elementów

                for(int i=0 ; i<N.length() ; i++)  

                               S.insert(N[i]);                              

                //wypisanie elementów             

                for(p=S.begin() ; p!=S.end() ; p++)

                               {             

                                               cout<<char(*p);

                               }             

                    //poszukiwanie elementu o wartosci 'Q'

                bool is_in = S.find('Q') != S.end();          

                               if (is_in) cout<<"\nZnaleziono element \'Q\'";

                                               else cout<<"\nNie znaleziono elementu \'Q\'";

                    cout<<"\nsize="<<S.size();              

               system("pause");                          

                }

 

//STACK

//sortowanie tekstu z wykorzystaniem stosu
//sortujemy tekst zlozony z 4 znakow (tekst o dowolnej dlugosci)
#include<iostream>
#include<stack>
using namespace std;
 
main()
{
stack < char > Sb;
stack < char > Sc;
stack < char > Sd;
string napis="ababcdabcdabcdddccbbaa";
int i,n;
n=napis.length();
for ( i=0 ; i<n ; i++ )
if (napis[i]=='a') cout<<napis[i];
else if (napis[i]=='b') Sb.push(napis[i]);
else if (napis[i]=='c') Sc.push(napis[i]);
else Sd.push(napis[i]);
 
while( !Sb.empty() )         //dopóki stos nie jest pusty wykonuj{
 
cout << Sb.top();   //odczyt ze stosu
Sb.pop(); //usuniecie ze stosu
}
 
while( !Sc.empty() )         //dopóki stos nie jest pusty wykonuj
 
{
cout << Sc.top();   //odczyt ze stosu
Sc.pop(); //usuniecie ze stosu
}
 
while( !Sd.empty() )       //dopóki stos nie jest pusty wykonuj
{
cout << Sd.top();   //odczyt ze stosu
Sd.pop(); //usuniecie ze stosu
}
 
}

 

 

 

 

 

 

 

 


Zadania do samodzielnej realizacji

Przykładowe rozwiązanie zadanie 1 (tylko DEC to BIN)

Przykładowe rozwiązanie zadanie 2 (tylko DEC to HEX)