rendered paste bodytabela = []header = [None, None, None, None, None, None, None, None]tabela_a_inserir = [[1350,"Ademar",25,5000,None,None],[1600,"Afonso",27,7000,None,None],[1075,"Angela",22,6000,None,None],[1850,"Antonio",28,8500,None,None],[1300,"Carlos",23,7500,None,None],[1000,"Cesar",25,9000,None,None],[1440,"Claudia",30,8000,None,None],[1400,"Cristina",20,10000,None,None],[1900,"Deise",26,7500,None,None],[1050,"Diana",35,5000,None,None],[1700,"Eder",32,6000,None,None],[1800,"Edilson",34,6500,None,None],[1076,"Edmundo",26,5500,None,None],[1480,"Enio",28,7800,None,None],[1950,"Flavio",39,9000,None,None]]def print_tabela_e_header(): print "Tabela:" for item in tabela: if item[4] == None: item[4] = -1 if item[5] == None: item[5] = -1 print "%d %s %d %d %d %d" % (item[0], item[1], item[2], item[3], item[4]+1, item[5]+1) print "\nHeader:" for pos, item in enumerate(header): if item == None: item = -1 print "%d %d" % (pos+1, item+1) print "\n"def f(c): return (c % 8)def inserir(item): tabela.append(item) pk = f(item[0]) item[5] = pk if header[pk] == None: header[pk] = tabela.index(item) else: pos_ant = header[pk] pos_enc = tabela[pos_ant][4] while pos_enc != None: pos_ant = pos_enc pos_enc = tabela[pos_enc][4] if pos_enc == None: tabela[pos_ant][4] = tabela.index(item)for item in tabela_a_inserir: inserir(item)ex_5b = [[1030, "Adriano", 30, 5000, None, None], [1015, "Adriana", 15, 2000, None, None], [1020, "Jose", 28, 7500, None, None]] for item in ex_5b: inserir(item)print_tabela_e_header()