All pastes #2047584 Raw Edit

Heap in python

public python v1 · immutable
#2047584 ·published 2011-04-18 00:19 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)def alterarHeap(lista,n):    if n+1 != 0:        novo = int(raw_input("Entre com o novo valor do primeiro elemento: "))        lista[0] = novo        descerHeap(lista,0,n)#subirHeap(livros,2)#descerHeap(livros,0,tam-1)#print livros#inserirHeap(livros,tam-1) #insere um elemento no heap#print livros#removerHeap(livros,tam) #remove primeiro elemento#print livros#print tamconstruirHeap(livros,tam-1)print "\nLista de prioridades: \n"print livros#alterarHeap(livros,tam-1) #alterando o primeiro elemento#print livros