exercícios listas encadeadas

Slides:



Advertisements
Apresentações semelhantes
IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Advertisements

LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Aula T10 – BCC202 Listas – Parte 2 Túlio Toffolo www. decom. ufop
Estruturas de Dados Árvores Binárias
Recursividade Prof. Rosana Palazon.
Listas encadeadas Prof. Rosana Palazon.
Algoritmos de manipulação de estruturas elementares de dados
Listas duplamente encadeadas
Programação II Estruturas de Dados
Programação II Estruturas de Dados
Listas duplamente encadeadas
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Árvores.
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
David Menotti Estruturas de Dados I DECOM – UFOP
Alocação Dinâmica de Memória
LPG - I: Alocação Dinâmica de Memória - Ponteiros
AED – Algoritmos e Estruturas de Dados
LPG-I: Tipos Complexos - Estruturas
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Prof.: Sergio Pacheco Estruturas de Dados I Prof.: Sergio Pacheco 1.
Listas com Ponteiros Listas encadeadas Listas circulares.
Universidade de Brasília
Slides: Prof. João Fabro UTFPR - Curitiba
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Slides: Prof. João Fabro UTFPR - Curitiba
Fundamentos de Programação 1
Lista Encadeada Circular Lista Duplamente Encadeada
Listas Encadeadas.
Alocação Dinâmica de Memória
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
Algoritmos e Estruturas de Dados
ALGORITMOS E ESTRUTURAS DE DADOS
Prof. Hilton Cardoso Marins Junior LISTA LINEAR
Listas Encadeadas Raquel O. Prates, Luiz Chaimowicz, Jussara Almeida
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 02a Roberto Ferrari Mauricio Falvo.
Algoritmos e Estruturas de Dados
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Estruturas de Dados com Jogos
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 02b Roberto Ferrari Mauricio Falvo.
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 04b Roberto Ferrari Mauricio Falvo.
INTELIGÊNCIA ARTIFICIAL
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
Árvores Binárias de Pesquisa
TAD Pilha com Alocação Dinâmica de Memória
Implementação de FILAS com Alocação Dinâmica
Lista Encadeada Circular Lista Duplamente Encadeada
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Listas lineares Denise Guliato Faculdade de Computação – UFU
Denise Guliato Faculdade de Computação – UFU
Estrutura de Dados Unidade 9 Simulação do exercício 9.2 CASO 03a
Árvore Binária de Busca
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Estrutura de Dados Professor: Cheli dos S. Mendes da Costa Listas.
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Estruturas de Dados Aula 17: Estruturas Genéricas
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Estruturas de Dados Aula 15: Árvores
Prof. Hilton Cardoso Marins Junior ÁRVORES BINÁRIAS.
Prof. Alessandro Gonçalves
Linguagem de Programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo X Encadeamento de Estruturas por Ponteiros.
11 Pilhas, Filas e Listas Duplamente Encadeadas Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
Fundamentos de Programação 1 Slides 21 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Encadeada”.
Fundamentos de Programação 1 Slides 22 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Duplamente Encadeada - Projeto com vários Arquivos”.
Continuação.
Transcrição da apresentação:

exercícios listas encadeadas

Considerando listas de valores inteiros, implemente uma função que receba como parâmetro uma lista encadeada e um valor inteiro n e divida a lista em duas, de tal forma que a segunda lista comece no primeiro nó logo após a primeira ocorrência de n na lista original. A figura a seguir ilustra essa separação: Essa função deve obedecer ao protótipo: Lista separa (Lista l, int n); A função deve retornar um ponteiro para a segunda sub-divisão da lista original, enquanto l deve continuar apontando para o primeiro elemento da primeira subdivisão da lista.

/* função separa */ Lista separa (Lista l, int n) { Lista p; /* variável auxiliar para percorrer a lista */ Lista q; /* variável auxiliar para nova lista */ for (p = l; p != NULL ; p = p->elo) if (p->info == n) q = p->elo; p->elo = NULL; return q; } return NULL;

Lista constroi (int n, int *v);

Lista constroi (int n, int* v) { Lista p; /* variável auxiliar para percorrer a lista */ Lista q; /* variável auxiliar para criar a nova lista */ int i; q = NULL; for(i=n-1; i>=0; i--) p = (Lista) malloc(sizeof(struct no)); p->elo = q; p->info = v[i]; q = p; } return q;

Lista retira_prefixo(int n, Lista L);

Lista retira_prefixo (Lista l, int n) { Lista p; /* variável auxiliar para percorrer a lista */ Lista q; /* variável auxiliar */ int m = 1; p = l; while(p != NULL && m <= n) m = m+1; q = p->elo; free(p); p = q; } return p;

Lista ins_ordenado (Lista l, int mat, char *nome, float nota);

struct dados{ int matricula; char nome[81]; float media; struct dados* prox; } typedef struct dados *Lista;

Lista ins_ordenado(Lista L, int mat, char* nome, float nota) { Lista p = L; Lista ant = NULL; Lista novo = (Lista)malloc(sizeof(struct dados); novo ->mat = mat; strcpy(novo->nome, nome); novo->media = nota; novo->prox = NULL; If (p==NULL) return novo; while ((p!=NULL) && (novo->mat > p->mat)) { ant = p; p = p->prox;} if (ant == NULL) {novo->prox = p; return novo;} novo ->prox = ant->prox; ant->prox = novo; return L; }