Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет455/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   451   452   453   454   455   456   457   458   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

#include  

#include  

using namespace std;

void show (const char *str, const list &L){ 

 

cout << str << ":" << endl;

 

for (list::const_iterator i = L.begin(); 

 

i != L.end(); ++i)

 

   cout << *i << " "; 

 

cout << endl;

}

int main(){ 

   list L; 

 list::iterator 

i; 

 int 

x;

 ifstream 

in("inpnum");

 

while ( in >> x, !in.eof()) L.push_back(x);

 

show("Бастапқы тізім", L);


335

 L.push_front(1);

 

i = L.begin(); 

   L.insert(++i, 2); 

 

show("Тізім басына 1 жəне 2 сандарын кірістіруден  

 

      кейін", L); 

 

i = L.end(); L.insert(--i, l00); 

 

show("Соңғы элементтің алдына l00 санын кірістіруден 

 

      кейін", L); 

 

i = L.begin(); x = *i; L.pop_front(); 

 

cout << "Басынан " << x << " өшірілген" << endl; 

 

i = L.end(); x = *--i; L.pop_back(); 

 

cout << "Соңынан " << x << " өшірілген" << endl; 

 

show("Өшіруден кейінгі тізім:", L); 

 L.remove(76);

 

show("Мəні 76 болатын элементтерді өшіруден кейін", L); 

 L.sort();

 

show("Сұрыптаудан кейін:", L); 

 L.unique();

 

show("unique əдісінен кейін:", L); 

 

list L1 (L); 

 L.reverse();

 

show("reverse əдісінен кейін:", L);

}

Программаның орындалу нəтижесі:



Бастапқы тізім:

56 34 54 0 76 23 51 11 51 11 76 88 

Тізім басына 1 жəне 2 сандарын кірістіруден кейін:

1 2 56 34 54 0 76 23 51 11 51 11 76 88 

Соңғы элементтің алдына l00 санын кірістіруден кейін:

1 2 56 34 54 0 76 23 51 11 51 11 76 100 88 

Басынан 1 өшірілген

Соңынан 88 өшірілген 

Өшіруден кейінгі тізім:

2 56 34 54 0 76 23 51 11 51 11 76 100 

Мəні 76 болатын элементтерді өшіруден кейін: 

2 56 34 54 0 23 51 11 51 11 100

Сұрыптаудан кейін:

0 2 11 11 23 34 51 51 54 56 100

unique əдісінен кейін:

0 2 11 23 34 51 54 56 100

reverse əдісінен кейін:

100 56 54 51 34 23 11 2 0

Тізімдерге «Алгоритмдер» бөлімінде сипатталған стандартты кітапхана 

алгоритмдерін қолдануға болады (373 б. қараңыз).



336

Стектер (stack)

Стекте (анықтамасын «Стектер» бөлімінен, 129 б. қараңыз) оның өлшемін 

өзгертетін тек екі операцияға рұқсат берілгені белгілі, олар – стектің төбесіне 

элемент қосу жəне төбесінен таңдау. Стекті қарастырылған контейнерлердің 

кез келгенінің – вектордың, екіжақты кезектің немесе тізімнің негізінде жүзеге 

асыруға болады. Осылайша, стек контейнердің жаңа типі емес, бұрыннан бар 

типінің нұсқасы болып табылады, сондықтан оны контейнердің

 адаптері 

деп атайды. Басқа адаптерлер (кезектер жəне басымдылықтары бар кезектер) 

келесі бөлімдерде қарастырылады.

STL кітапханасында стек келісім бойынша екіжақты кезектің негізінде 

анықталған:



Достарыңызбен бөлісу:
1   ...   451   452   453   454   455   456   457   458   ...   642




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет