Python implements the heap sorting algorithm code. For more information, see
The code is as follows:
#! /Usr/bin/python
Import sys
Def left_child (node ):
Return node * 2 + 1
Def right_child (node ):
Return node * 2 + 2
Def parent (node ):
If (node % 2 ):
Return (I-1)/2
Else:
Return (I-2)/2
Def max_heapify (array, I, heap_size ):
L = left_child (I)
R = right_child (I)
Largest = I
If l Largest = l
If r Largest = r
If largest! = I:
Array [I], array [largest] = array [largest], array [I]
Max_heapify (array, largest, heap_size)
Def build_max_heap (array ):
For I in range (len (array)/2,-1,-1 ):
Max_heapify (array, I, len (array ))
Def heap_sort (array ):
Build_max_heap (array)
For I in range (len (array)-1, 0,-1 ):
Array [0], array [I] = array [I], array [0]
Max_heapify (array, 0, I)
If _ name _ = "_ main __":
Array = [0, 2, 6, 98, 34,-5, 23, 11, 89,100, 7]
Heap_sort (array)
For a in array:
Sys. stdout. write ("% d" %)