コード例 #1
0
 def insert(self, index, elem):
     last = self.head
     no = No(elem)
     pos = index - 1
     pos = int(pos)
     if pos == 0:
         no.set_proximo(self.head)
         self.head = no
         print(f'Elemento adicionado na primeira posição: {self.head}')
         self.size += 1
     elif pos > self.size:
         print(f'A posição {index}, não existe.')
         answer = input('Deseja adicionar no final da lista? [S/N] ')
         if answer == 'S':
             while last.get_proximo():
                 last = last.get_proximo()
             last.next = No(elem)
             self.size += 1
             print(f'Elemento: {elem} adicionado ao final da lista.')
         else:
             print('OKAY')
     else:
         pointer = self._getnode(pos - 1)
         no = No(elem)
         aux = pointer.get_proximo()
         no.set_proximo(aux)
         pointer.set_proximo(no)
         print(f'Elemento: {elem} adicionado na posição {pos + 1}')
         self.size += 1
コード例 #2
0
class ListaSimples:
    
    def __init__(self):
        self.cabeca = No(None)

    def esta_vazia(self):
        return self.cabeca.get_proximo() == None
    
    def adicionar(self, novo_no):
        if(self.esta_vazia()):
            self.cabeca.set_proximo(novo_no)
        else:
            atual = self.cabeca

            while(atual.get_proximo()):
                atual = atual.get_proximo()
            
            atual.set_proximo(novo_no)

    def percorrer(self):
        atual = self.cabeca.get_proximo()

        while(atual):
            print(atual.get_elemento())
            atual = atual.get_proximo()
コード例 #3
0
    def add(self, posicao, nome, matricula, curso):
        p = No(nome, matricula, curso)

        if self.__head == None:
            self.__head = p

        elif posicao == 0:
            p.set_proximo(self.__head)
            self.__head = p

        elif posicao > self.size():
            aux = self.__head

            while aux.get_proximo() != None:
                aux = aux.get_proximo()

            aux.set_proximo(p)

        else:
            q = self.__head
            r = self.__head

            for i in range(posicao):
                q = r
                r = r.get_proximo()
            p.set_proximo(r)
            q.set_proximo(p)
コード例 #4
0
ファイル: pilha.py プロジェクト: rencesar/ed-projeto-1
 def add(self, item):
     aux = No(item)
     if self._topo is None:
         self._topo = aux
         return True
     aux.set_proximo(self._topo)
     self._topo = aux
     return True
コード例 #5
0
ファイル: pilha.py プロジェクト: lucas-salles/ed-projeto1
    def add(self, nome, matricula, curso):
        p = No(nome, matricula, curso)

        if self.__topo == None:
            self.__topo = p

        else:
            p.set_proximo(self.__topo)
            self.__topo = p
コード例 #6
0
 def add_meio(self, item, pos):
     aux = No(item)
     p = q = self._cabeca
     for i in range(pos):
         p = p.get_proximo()
         q = p.get_proximo()
     aux.set_proximo(q)
     p.set_proximo(aux)
     self.count()
     return True
コード例 #7
0
 def add_inicio(self, item):
     aux = No(item)
     if self._cabeca is None:
         self._cabeca = self._cauda = aux
         self.count()
         return True
     aux.set_proximo(self._cabeca)
     self._cabeca = aux
     self.count()
     return True
コード例 #8
0
ファイル: fila.py プロジェクト: rencesar/ed-projeto-1
 def add(self, item):
     aux = No(item)
     if self._cabeca is None:
         self._cabeca = aux
     else:
         aux = self._cabeca
         while True:
             if aux.get_proximo() is None:
                 break
             aux = aux.get_proximo()
         aux.set_proximo(item)
コード例 #9
0
 def push(self, new):
     no = No(new)
     no.set_proximo(self.topo)
     self.topo = no
     print(f'Elemento: {self.topo} adicionado a pilha.')
     self.size += 1