Magna Concursos
3736443 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: FUVEST
Orgão: USP
Provas:

Considere a classe No, implementada em Python, que será a base de formação de uma Lista Simplesmente Encadeada:

class No:
  def __init__(self, dado):
    self.dado = dado
    self.proximo = None

Considere ainda o trecho de código em Python que manipula a Lista Simplesmente Encadeada e que está declarado dentro da classe ListaEncadeada:

class ListaEncadeada:
    def __init__(self):
        self.cabeca = None
    def metodoX(self):
        if not self.cabeca:
            return None
        Y = self.cabeca
        atual = self.cabeca
        anterior = None
        anterior_Y = None
        while atual:
            if atual.dado > Y.dado:
                Y = atual
                anterior_Y = anterior
            anterior = atual
            atual = atual.proximo
        if anterior_Y is None:
            self.cabeca = Y.proximo
        else:
            anterior_Y.proximo = Y.proximo
        return Y.dado
def metodoZ(L):
    K = ListaEncadeada()
    while L.cabeca:
        W = L.metodoX()
        K.inserir_fim(W)
    return K

A classe ListaEncadeada contém outros métodos que permitem a sua completa manipulação, como inserir elemento no início, inserir elemento no final, exibir conteúdo da lista e remover elementos. Assinale a alternativa que apresenta o conteúdo retornado pelo metodoZ, quando for enviado como parâmetro a seguinte Lista Ligada:

[15, 28, 2, 10, 50, 14, 77] 
 

Provas

Questão presente nas seguintes provas

Analista de Sistemas

60 Questões