Оля_я
|
|
1 | |
пирамедальная сортировка29.11.2010, 06:20. Показов 531. Ответов 0
Метки нет (Все метки)
я сейчас курсовую пишу...программка есть, но не знаю пойдет ли она? посмотрите...:
Код
program Project1; const Dlina = 251; type Telem=shortint; Tdlina= byte; mas= array [0..Dlina-1] of Telem; procedure downHeap(var a: mas; k,n: Tdlina); { ïðîöåäóðà ïðîñåèâàíèÿ ñëåäóþùåãî ýëåìåíòà} { Äî ïðîöåäóðû: a[k+1]...a[n] - ïèðàìèäà } { Ïîñëå: a[k]...a[n] - ïèðàìèäà } var new_elem: Telem; child: Tdlina; flag: boolean; begin new_elem := a[k]; flag:=true; while(k <= n/2) and flag do { ïîêà ó a[k] åñòü äåòè } begin child := 2*k; { âûáèðàåì áîëüøåãî ñûíà} if( child < n) and (a[child] < a[child+1] ) then inc(child); if( new_elem >= a[child] ) then flag:=false else { èíà÷å} begin a[k] := a[child]; { ïåðåíîñèì ñûíà íàâåðõ} k := child; end; end; a[k] := new_elem; end; procedure heapSort(var a: mas; size:Tdlina); var i: Tdlina; temp: Telem; begin { ñòðîèì ïèðàìèäó } for i:=size div 2 - 1 downto 0 do downHeap(a, i, size-1); { òåïåðü a[0]...a[size-1] ïèðàìèäà} for i:=size-1 downto 1 do begin { ìåíÿåì ïåðâûé ñ ïîñëåäíèì } temp:=a[i]; a[i]:=a[0]; a[0]:=temp; { âîññòàíàâëèâàåì ïèðàìèäàëüíîñòü a[0]...a[i-1] } downHeap(a, 0, i-1); end end; var massiv: mas; i,size: Tdlina; begin randomize; repeat write('size (1..',Dlina,')=?'); readln(size); until (size>0) and (size<=Dlina); for i:=0 to size-1 do massiv[i]:=random(256)-128; writeln('Massiv:'); for i:=0 to size-1 do write(massiv[i],' '); writeln; heapSort(massiv, size); writeln('Massiv:'); for i:=0 to size-1 do write(massiv[i],' '); writeln; write('Press Enter...');readln end. |
29.11.2010, 06:20 | |
Ответы с готовыми решениями:
0
Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками» 1)Бинарный поиск 2)Сортировка включением 3)Шейкерная сортировка 4)Сортировка разделением Сортировка выбором, сортировка вставкой, сортировка заменой, сортировка обменом ("пузырьковая" сортировка) Разработать программу сортировки: сортировка перестановкой, сортировка вставкой, быстрая сортировка |
29.11.2010, 06:20 | |
29.11.2010, 06:20 | |
Помогаю со студенческими работами здесь
1
Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется Сортировка массива целых чисел A(n) по убыванию(используя метод обменная сортировка) Быстрая сортировка, ситуация, при которой сортировка работает не корректно Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом? Сортировка векторов методами: пузырька, Хоара, Шейкерная сортировка Быстрая сортировка и Обменная сортировка - реализация API функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |