Heapsort(A) { BuildHeap(A) for i <- length(A) downto 2 { exchange A[1] <-> A[i] heapsize <- heapsize -1 Heapify(A, 1) } BuildHeap(A) { heapsize <- length(A) for i <- floor( length/2 ) downto 1 Heapify(A, i) } Heapify(A, i) { le <- left(i) ri <- right(i) if (le<=heapsize) and (A[le]>A[i]) largest <- le else largest <- i if (ri<=heapsize) and (A[ri]>A[largest]) largest <- ri if (largest != i) { exchange A[i] <-> A[largest] Heapify(A, largest) } }Up to CS 3158 home page