Ш. И. Раззоќов, М. Д. Юнусова turbo pascal алгоритмик тилида дастурлаш касб-ћунар коллеж талабалари учун ўќув ќўлланма


Download 1.74 Mb.
bet48/96
Sana30.04.2023
Hajmi1.74 Mb.
#1413831
1   ...   44   45   46   47   48   49   50   51   ...   96
Bog'liq
Turbo Pascal назария

program BubbleSort;
uses Crt;
const
n = 20; { массив узунлиги }
type
TVector = array [l..n] of Real;
var
Vector : TVector;
В : Real;
i, k : Integer;
begin
ClrScr;
Writeln ('Массив элементларини киритиш:');
for i := 1 to n do Read (Vector[i]); Readln;
{---------------------------------------------------------------------}
for k := n downto 2 do
{Навбатдаги максимал элементнинг k-хонага "ќалќиб чиќиши"}
for i := 1 to k-1 do
if Vector[i] > Vector[i+1] then
begin
B := Vector[i] ;
Vector[i] := Vector[i+1];
Vector[i+1] := В
end;
{------------------------------------------------------------------------}
Writeln ('Сараланган массив:');
for i := 1 to n do Write (Vector[i]:8:2);
Writeln
end.


9.1.3. Саралаш усулларини таќќослаш
Саралаш усуллари алгоритмларини назарий ва амалий тадќиќ ќилиш шуни кўрсатдики, таќќослаш шунингдек ўзлаштириш сонига кўра улар n массив узунлигига боѓлиќ. Ўзлаштириш тартиби nln(n) сонига тенг бўлган танлаш усули бундан мустасно. Танлаш алгоритмининг бу хоссасини битта таќќослашда катта сондаги ўзлаштиришлар бажариладиган мураккаб таснифли маълумотларни саралаш масалаларида ќўллаш фойдали. Бундай масалаларда танлаш усули саралашнинг энг тез яхшиланган усуллари билан баћслаша олади.
Кўриб ўтилган тўѓри усуллар ўзаро таќќосланса, киритиш ва танлаш усуллари ўртача таќрибан тенг кучли ва алмаштириш («кўпиклар») усулига ќараганда бир неча марта (массив узунлигига боѓлиќ равишда) яхши.


9.1.4. Иккиламчи излаш (бинарли излаш, иккига бўлиш билан излаш)
Иккиламчи излаш усули алгоритмини берилган элементни фаќат тартибга солинган массивларда ќўллаб бўлади. Уни ўсиб бориш тарзида тартибга солинган массив мисолида кўрамиз (vector [i] <=Vector[i+1]).
Иккиламчи излаш усули тамойили
Бошланѓич массив иккига бўлинади ва таќќослаш учун ўрта элемент олинади. Агар у изланаётган элемент билан мос келса, излаш тугайди. Агар ўртача элемент изланаётганидан кичик бўлса, ундан чапда ётган элементларниннг ћаммаси ћам изланаётганидан кичик бўлади. демак, уларни, массивнинг фаќат ўнг ќисмини ќолдириб, кейинги излаш соћасидан ўчириб ташлаш мумкин. Худди шундай, агар ўрта элемент изланаётганидан катта бўлса, массивнинг чап томони саќланиб, ўнг томони олиб ташланади.
Иккинчи босќичда массивнинг ќолган ярми билан худди шундай ишлар бажарилади. иккинчи босќич натижасида массивнинг ¼ ќисми ќолади.
Бу иш, элемент топилмагунча, ёки излаш соћаси нолга тенг бўлмагунча давом эттирилади. Охирги ћолатда изланаётган элемент топилмайди.
Иккиламчи излаш алгоритми схемасини кўрамиз:
Изланаётган элемент Х 14

Иккиламчи излаш усулини амалга оширувчи дастурнинг мумкин бўлган вариантларидан бирини келтирамиз:
9.4-дастур

Download 1.74 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   96




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling