ePerTutti


Appunti, Tesina di, appunto tecnica

Esercitazione decima - Programma Heap Sort ( X )

ricerca 1
ricerca 2


Esercitazione decima



In questa esercitazione è presentata la codifica in Pascal di un programma che riordina un array di interi tramite la tecnica dell'Heap sort .


Programma Heap Sort ( X )




Program Heap ;

uses crt ;

type campo = array [ 1..10 ] of integer ;

var t : campo ;

var i, n, x : integer ;



procedure swap ( var x :campo ; a, b :integer ) ; 

var c : integer ;

begin

c := x [ a ] ;

x [ a ] := x [ b ] ;

x [ b ] := c ;

end ;



procedure pushdwn  ( var x :campo; a, b: integer ) ;

begin

lio := 2 *a ;

if lio < b then if x [ lio+1 ] > x [ lio ]  

if lio <= b then if x [ a ] < x [ lio ] then begin

swap ( x, a, lio ) ;

pushdwn ( x, lio, b) ;

end ;

end ;



procedure deletemax ( var x :campo ; var a :integer ) ;

begin

swap ( x, 1, a ) ; 

a:=a-l;

pushdwn ( x, 1, a ) ;

end ;



procedure makeheap ( var x :campo ; n : integer ) ; 

var i: integer ;

begin

for i:= n div 2 downto 1 do pushdwn ( x, i, n )

end ;



begin   

clrscr ;

for i :=1 to 10 do begin

write ( 'Inserire il ', i, ' numero ' ) ;

readln ( n ) ;

t [ i ] :=n ;

end ;



makeheap ( t, 10 ) ;

x := 10 ;

while x >1 do deletemax ( t, x ) ;

write ( 'Il vettore ordinato è ' ) ; for i:=1 to 10 do write ( t [ i ] ) ;

readln ;

end .



Dimostrazione pratica


Inserire il 1 numero

Input

Inserire il 2 numero

Input

Inserire il 3 numero

Input

Inserire il 4 numero

Input

Inserire il 5 numero

Input

Inserire il 6 numero

Input

Inserire il 7 numero

Input

Inserire il 8 numero

Input

Inserire il 9 numero

Input

Inserire il 10 numero

Input


Il vettore ordinato è :

Output


Inserire il 1 numero

Input

Inserire il 2 numero

Input

Inserire il 3 numero

Input

Inserire il 4 numero

Input

Inserire il 5 numero

Input

Inserire il 6 numero

Input

Inserire il 7 numero

Input

Inserire il 8 numero

Input

Inserire il 9 numero

Input

Inserire il 10 numero

Input


Il vettore ordinato è :

Output




Privacy

© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta