ЛАБОРАТОРИЯ ИШИ - 23 МАВЗУ: Рекурсия. Дарахтлар.
Ишдан мақсад: Рекурсив маълумотлар тузилмаси билан танишиш. дарахтлар ҳақида тушунчалар бериш ва улар устида турли амаллар бажариш. Қўйилган масала: C++ дастурлаш тилида векторларни эълон қилишни ўрганиш, “vector” ва “algorithm” кутубхонасининг функсиялари амалда қўллаш, vector охирига элемент қўшиш ва ўчириш, vector элементларини ўсиш ва камайиш тартибида саралашларни ўрганиш ва векторга доир турли мисолларни ишлаб чиқиш. Иш тартиби: Тажриба иши назарий маълумотларини ўрганиш; Берилган топшириқнинг алгоритмини ишлаб чиқиш; C++ дастурлаш муҳитида дастурни яратиш; Натижаларни текшириш; Ҳисоботни тайёрлаш ва топшириш.
Векторлар.
C++ дастурлаш муҳитида маълумотларни массивдан ташқари сал бошқачароқ усулда сақлашнинг яна бир тури мавжуд, яъни векторлар. Вектор элементлари устида массив элементлари устида бажариладиган амалларни бажариш мумкин. Маълумотларни массивда сақлашда элементлар сони олдиндан маълум бўлиши керак. Айрим пайтларда массивга нечта элемент киритилиши маълум бўлмайди ва ўшанда динамик дастурлашдан фойдаланиш керак бўлади, яъни массивга қўшиладиган элементга хотира ажратишга тўғри келади. Шундай ҳолларда vector классидан фойдаланиш мумкин. Vector класси ўзгарувчан узунликдаги массив яратишга ёрдам беради. Вектор бу элементлари сони олдиндан маълум бўлмаган бир хил тоифадаги элементлар кетма-кетлигидир. Векторнинг массивдан фарқи, vector узунлиги олдиндан берилмайди ва у дастур бажарилиши мобайнида ўзгариб туради. Вектор яратиш учун кутубхонасига уланиш керак, яъни дастур бошида #include қатори бўлиши керак ва векторни эълон қилишнинг 2 та усули мавжуд - вектор узунлигини кўрсатиб ва бўш вектор кўринишида.
vector<тоифа_номи> ўзгарувчиноми;
Масалан, vector test; бу ерда int тоифали, test номли бўш вектор яратилди. Вектор элементларига индекс орқали мурожаат қилиб бўлади, лекин бу кўринишда вектор яратилганда вектор элементига индекс билан мурожаат қилиб қиймат бериб бўлмайди, яъни қуйидаги дастур коди нотўғри:
vector vek; vek[0]=123;
vek[1]=234;
12. Бутун турда 5 та элементи бор “век” номли вектор ҳосил қилинг, вектор охирига 4 та элемент қўшинг ва векторнинг барча элементларини ўшиш ва камайиш тартибида сараланг.
#include #include #include using namespace std;