Guruhi talabasining


, 9, 7, 12, 11, 2, 4,  1



Yüklə 177,77 Kb.
Pdf görüntüsü
səhifə4/8
tarix16.12.2023
ölçüsü177,77 Kb.
#182740
1   2   3   4   5   6   7   8
mta dedline12

14
, 9, 7, 12, 11, 2, 4, 
1
, 10, 6, 8, 13] 
Sababi ma’lum, arr[pivot] < arr[i] va arr[pivot] > arr[j] bo’lib qoldi. arr[i] va arr[j] 
o’rnini almashtiramiz: 


[
5
, 0, 3, 1, 9, 7, 12, 11, 2, 4, 14, 10, 6, 8, 13] 
(O)
katta sikl ishlashda davom etadi. Biz (a) va (b) sikllarni qayta ishga tushiramiz. 
Kichkina sikllar i = 4 va j = 9 holatda to’xtaydi. 
[
5
, 0, 3, 1, 
9
, 7, 12, 11, 2, 
4
, 14, 10, 6, 8, 13] 
arr[i] va arr[j] o’rnini almashtiramiz: 
[
5
, 0, 3, 1, 4, 7, 12, 11, 2, 9, 14, 10, 6, 8, 13] 
(O)
katta sikl ishlashda davom etadi. Biz (a) va (b) sikllarni qayta ishga tushiramiz. 
Kichkina sikllar i = 5 va j = 8 holatda to’xtaydi. 
[
5
, 0, 3, 1, 4, 
7
, 12, 11, 
2
, 9, 14, 10, 6, 8, 13] 
arr[i] va arr[j] o’rnini almashtiramiz: 
[
5
, 0, 3, 1, 4, 2, 12, 11, 7, 9, 14, 10, 6, 8, 13] 
Endi esa i = 6, j = 5 bo’lib qoldi, ya’ni i j dan katta bo’lib ketdi. Bu degani biz 
array o’rtasini topdik. 
(O)
katta siklni to’xtatamiz. Endi arr[pivot] va arr[j] o’rnini 
almashtiramiz. 
[2, 0, 3, 1, 4, 
5
, 12, 11, 7, 9, 14, 10, 6, 8, 13] 
Pivot elementni arrayning kerakli joyiga qo’ydik. Endi pivotning o’ng tarafida 
undan kichik sonlar, chap tarafida undan katta sonlar joylashdi. 
Arrayni pivot bo’yicha ikki qismini alohida-alohida tartiblaymiz. Bizning misolda 
array 
[2, 0, 3, 1, 4] 
va 
[12, 11, 7, 9, 14, 10, 6, 8, 13] 
ga bo’lindi. Aslida array o’zi bo’linmadi, biz arrayning qismlarini alohida 
tartiblaymiz. 
Birinchi qism 


[2, 0, 3, 1, 4, ...] 
pivot = 0, ya’ni arr[pivot] = 2. Yuqoridagi kabi katta 

Yüklə 177,77 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin