![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Дан одномерный массив 10 чисел. отсостировать массив по возрастанию. Значения элементов массива заданы случайным образом из интервала от -8 до 17
Последний раз редактировалось terwet, 20.12.2010 в 17:21. |
#2
|
|||
|
|||
![]() Код:
const Sz=10; type IArr=array [1..Sz] of integer; var A: IArr; procedure swap(var a,b: integer); var v: integer; begin v:=a; a:=b; b:=v end; procedure QuickSort(var A: IArr; n: integer); procedure sort(l,r: integer); var i,j: integer; w,x: integer; begin i:=l; j:=r; x:=A[(l+r) div 2]; repeat while A[i]<x do Inc(i); // ищем первый элемент >= x while A[j]>x do Dec(j); // ищем последний элемент <= x if i<=j then begin swap(A[i],A[j]); Inc(i); Dec(j); end; until i>j; if l<j then sort(l,j); if i<r then sort(i,r) end; begin sort(1,n) end; begin //Чтение массива quicksort(a,sz); //вывод массива end; |