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
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()
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)
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
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
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
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
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)
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