·

Ciência da Computação ·

Análise de Algoritmos

Send your question to AI and receive an answer instantly

Ask Question

Preview text

implementação de uma lista duplamente encadeada para armazenamento de uma tupla formada por um número inteiro de 32 bits e uma string UTF8 de tamanho arbitrário Forneça funções para que se possa incluir alterar excluir e listar o conteúdo da lista Considere o número inteiro como uma chave de registro para fins de manipulação da lista include stdioh include stdlibh Lista duplamente encadeada typedef struct no int valor struct no proximo struct no aterior No Inserir no inicio void inserirnoinicioNo lista int num No novo mallocsizeofNo ifnovo novovalor num novoproximo lista novoanterior NULL iflista listaanterior novo lista novo else printfErro ao alocar memoria Inserir no fim da fila void inserirnofimNo lista int num No aux mallocsizeofNo ifnovo novovalor num novoproximo NULL é o primeiro iflista NULL lista novo novoanteriorNULL else aux lista whileauxproximo aux auxproximo auxproximo novo novoanterior aux else printfErro ao alocar memoria Inserir no meio void inserirnomeioNo lista int num int ant No aux novo mallocsizeofNo ifnovo novovalor num é o primeiro iflista NULL novoproximoNULL novoanteriorNULL lista novo else aux lista whileauxvalor ant auxproximo aux auxproximo novoproximo auxproximo auxproximoanterior novo novoanterior aux auxproximo novo else printfErro ao alocar memoria Alterar No No alterarNo lista int num Np aux no NULL aux lista whileaux auxvalor num aux auxproximo ifaux no aux Remover no No removerNo lista int num No aux remover NULL iflista iflistavalor num remover lista lista removerproximo iflista listaanterior NULL else aux lista whileauxproximo aux proximovalot num aux auxproximo ifauxproximo remover auxproximo auxproximo removerproximo ifauxproximi auxproximoanterior aux return remover Listar elementos No listarNo lista int num Np aux no NULL aux lista whileaux auxvalor num aux auxproximo ifaux no aux int main criaLista int i fori0 i5 i insereInicioi inserePosicao10 2 imprimeLista printf imprimeListaContrario