Информатика · ҰБТ сұрағы №12630

Ломуто бөлу (partition) процедурасынан кейін массив қандай болады? a = [8, 3, 9, 5, 2, 7, 6] p = a[-1] i = -1 for j in range(len(a) - 1): if a[j] <= p: i += 1 a[i], a[j] = a[j], a[i] a[i + 1], a[-1] = a[-1], a[i + 1] print(a)

Дұрыс жауабы мен түсіндірмесі
Жауабы: [3, 5, 2, 6, 9, 7, 8]

Тірек p = 6. 6-дан кіші немесе тең элементтер (3, 5, 2) алға ауыстырылады: [3,5,2,8,9,7,6]. Соңында тірек i+1 = 3 орнына ауысады: [3,5,2,6,9,7,8].

«Алгоритмдер және программалау» тақырыбынан тағы