All pastes #2047576 Raw Edit

Heap in python

public python v1 · immutable
#2047576 ·published 2011-04-17 23:59 UTC
rendered paste body
#!/usr/bin/python# -*- coding: utf-8 -*-#define max 10livros = [11,90,123,321,22,34,54]livros.append(10)print "\nVetor desordenado: \n"print livrostam = len(livros)def subirHeap(lista,pos):    j=pos/2    if j>=0:        if lista[pos]>lista[j]:            aux = lista[pos]            lista[pos] = lista[j]            lista[j] = aux            subirHeap(lista,j)def descerHeap(lista,pos,n):    j=2*pos    if j<=n:        if j<n:            lista[j+1] > lista[j]            j = j+1        if lista[pos] < lista[j]:            aux = lista[pos]            lista[pos] = lista[j]            lista[j] = aux            descerHeap(lista,j,n)def inserirHeap(lista,n):    global tam    if (tam+1)<max:        i = int(raw_input("Insira um valor: "))        livros.append(i)        tam=tam+1        subirHeap(livros,n+1)def removerHeap(lista,n):    global tam    if tam != 0:        lista[0] = lista[n-1]        lista.pop(n-1)        tam = tam-1    else:        print "Lista de prioridades vazia"def construirHeap(lista,n):    for i in range(2,n):        subirHeap(lista,i)#subirHeap(livros,2)#descerHeap(livros,0,tam-1)#print livros#inserirHeap(livros,tam-1)#print livros#print tam#removerHeap(livros,tam)#print livros#print tamconstruirHeap(livros,tam-1)print "\nLista de prioridades: \n"print livros