Atividade de laboratório listas encadeadas simples
|
|
|
- Agustina Leal Farinha
- 7 Há anos
- Visualizações:
Transcrição
1 Atividade de laboratório listas encadeadas simples 1. Estrutura básica Uma lista encadeada simples é uma estrutura de dados composta de uma seqüência de estruturas elementares chamadas nós. Cada nó contém a) uma informação útil (um dado) e b) a localização na memória do próximo nó na seqüência. Naturalmente, a informação da localização do próximo nó deve ser guardada em um ponteiro. Assim, cada nó deve ser uma struct que contenha estes dois campos a) e b). Vamos dar exemplos de tais structs, variando o tipo de informação contida nos nós: 1. A informação é um número inteiro. Neste caso, podemos escrever a struct como struct no { ; int info; struct no *prox; A informação é guardada no campo info, que é um int, e a localização do próximo nó é guardada no campo prox, que é um ponteiro. Este ponteiro deve ser do tipo struct no, já que vai apontar para o próximo nó. 2. A informação é uma string: struct no { ; char info[80]; struct no *prox; Neste caso, o campo info é uma string de 80 caracteres. 3. A informação consiste de vários dados, por exemplo nome e número de alunos: struct no { ; char nome[80]; int ra; struct no *prox; Neste caso, a informação guardada em cada nó consiste do conjunto da string nome e do inteiro ra. Além da definição da struct no, definiremos também um tipo para o ponteiro que aponta para um nó como pno typedef struct no * pno; Vamos representar por meio de um diagrama o primeiro caso. No diagrama abaixo está representada uma estrutura elementar e uma lista encadeada cujos dois primeiros elementos são 7 e 5 e o último é 9. O acesso ao primeiro elemento da lista é feito através do ponteiro inicial. O último elemento é marcado por seu ponteiro prox ter o valor inválido NULL, ao invés de apontar para um próximo elemento:
2 2. Adição de elementos à lista Uma lista tem duas operações fundamentais: adição de um elemento no começo da lista e remoção do primeiro elemento da lista. O diagrama abaixo mostra os passos para a inserção de um elemento da lista:
3 3. Exercícios adição de nós a uma lista. 1. Digite o programa a seguir que cria uma lista com um único elemento e a imprime: #include <stdio.h> #include <stdlib.h> struct no { int info; struct no *prox; ; typedef struct no * pno; int main() { /* Chamamos o ponteiro inicial de lista */ /* inicializamos com NULL, o que significa que a lista é vazia */ pno lista = NULL; pno n; /* usado para alocar um novo nó */ pno p; /* usado para imprimir a lista */ /* Um novo nó é criado e sua info é definida */ n = malloc(sizeof(struct no)); n->info = 10; /* O nó é adicionado à lista */ n->prox = lista; lista = n; /* A lista é imprimida */ printf("imprimindo lista:\n"); p = lista; /* começamos com o elemento inicial */ while(p!= NULL) { printf("%d ", p->info); /* imprimimos a info de cada elemento */ p = p->prox; /* avançamos para o próximo elemento da lista */ printf("\n"); system("pause"); return 0;
4 2. Repita na main() apenas a parte de criação de um novo nó e de adição à lista para que sejam inseridos os valores 20 e No programa resultante da questão 2, isole a criação de um novo nó dentro de uma função chamada get_node(). A função deve ser chamada assim: n = get_node(10). Esta chamada cria um novo nó cujo info é 10 e retorna um ponteiro para a localização deste nó. Isole também a adição de um novo nó dentro de uma função chamada push(). Esta função deve ser chamada assim: push(&lista, 10); para inserir o número 10 no início da lista (note que o argumento lista é passado por referência). Dica: os protótipos das funções devem ser: pno get_node(int); void push(pno *, int); A função push () deve chamar a função get_node() e a função main() deverá apenas chamar a função push(). 4. Isole a impressão da lista em uma função chamada print_list() que deve ser chamada assim: 5. Exercício resolvido: modifique a estrutura de dados para que a informação de cada nó seja um float. Escreva um programa que lê números digitados pelo usuário em qualquer quantidade, usando um laço (em cada laço, o programa deve perguntar se mais um número deve ser inserido). Dica: o laço deve ter uma forma assim: do { /* inserir aqui a entrada de dados na lista */ printf("mais um numero? (s/n): "); scanf(" %c", &c); /* atenção, o espaço antes do %c é importante */ while(c!= 'n'); Crie duas funções, uma que calcula a média e outra que calcula o desvio padrão dos valores da lista. Estas funções devem ser usadas assim: m = media(lista); s = desvio_padrao(lista, media); printf("media = %f, desvio padrao = %f\n", m, s); Dica: estas duas funções percorrem toda a lista, até o final, e portanto são parecidas com a print_list(). No final, o programa deve imprimir a lista de valores digitados, sua média e seu desvio padrão. Solução: veja no final.
5 4. Remoção de elementos de uma lista A operação fundamental de remoção de um elemento do início da lista é esquematizada no diagrama abaixo: Usando as funções definidas nos exercícios 3 e 4, podemos escrever um exemplo em que se retira o primeiro elemento de uma lista: main() { /* Ponteiro inicial da lista, inicialmente vazia: */ pno lista = NULL;
6 /* Será usado para guardar o endereço do primeiro elemento da lista */ pno p; /* Três elementos são inseridos: */ push(&lista, 10); push(&lista, 20); push(&lista, 30); /* A lista é imprimida: */ /* Remoção do primeiro elemento */ /* guarda a localização do primeiro elemento: */ p = lista; /* imprime o primeiro elemento: */ printf("removendo o elemento %d.\n", p->info); /* faz com que o ponteiro inicial aponte para o segundo elemento: */ lista = p->prox; /* devolve a memória ocupada pelo primeiro elemento: */ free(p); /* A lista é novamente imprimida: */ 5. Exercícios remoção de elementos 6. Faça o exemplo de remoção acima funcionar. Dica: parta do código resultante do exercício 4, onde já estão definidas todas as funções necessárias. 7. Exercício resolvido: no código do exercício 6, isole a retirada do primeiro elemento em uma função chamada pop(). Esta função deve retornar 0 se a lista já era vazia antes de se tentar a remoção, ou 1 se a lista não era vazia (chamamos este valor inteiro de status). Ao invés de imprimir o valor retirado, ela deve passar este valor por referência a um parâmetro. Ela deve ser chamada assim: status = pop(&lista, &x); Solução: veja no final. 8. Exercício resolvido: crie uma função que lê uma quantidade qualquer de números entrados pelo usuário e os imprime na ordem inversa de entrada, usando as funções push() e pop() (observação: com estas funções, implementamos uma pilha (LIFO)). Solução: veja no final.
7 6. Exercícios resolvidos Solução do exercício 5: #include <stdio.h> #include <stdlib.h> #include <math.h> struct no { float info; struct no *prox; ; typedef struct no * pno; pno get_node(float x) { pno n = malloc(sizeof(struct no)); n->info = x; return n; void push(pno *lis, float x) { pno n = get_node(x); n->prox = *lis; *lis = n; void print_list(pno p) { printf("imprimindo lista:\n"); while(p!= NULL) { printf("%f ", p->info); p = p->prox; printf("\n"); float media(pno p) { float m = 0; int n = 0; while(p!= NULL) { m = m + p->info; n = n + 1; p = p->prox;
8 return m / n; float desvio_padrao(pno p, float m) { float s = 0; int n = 0; while(p!= NULL) { s = s + (p->info - m) * (p->info - m); n = n + 1; p = p->prox; return sqrt(s / n); int main() { pno lista = NULL; float x; char c; float m, s; do { printf("digite um numero: "); scanf("%f", &x); push(&lista, x); printf("mais um numero? (s/n): "); scanf(" %c", &c); while(c!= 'n'); m = media(lista); s = desvio_padrao(lista, m); printf("media = %f, desvio padrao = %f\n", m, s); system("pause"); return 0;
9 Solução do exercício 7 (apenas a função pop() e a função main(), as outras funções, a struct e o typedef devem ser iguais aos do exercício acima). /* A função de remoção. */ /* l (o ponteiro inicial da lista) e n são passados por referência. */ int pop(pno *l, int *n) { /* guarda o endereço do elemento a ser retirado: */ pno p = *l; /* verifica se a lista era vazia: */ if(p == NULL) return 0; /* passa o valor a ser retirado à referência n: */ *n = p->info; /* altera o ponteiro inicial para apontar ao segundo elemento: */ *l = p->prox; /* libera a memória ocupada pelo primeiro elemento */ free(p); /* retorna 1, pois a lista não era vazia: */ return 1; int main() { /* Ponteiro inicial da lista, inicialmente vazia: */ pno lista = NULL; /* usados para guardar os valores recebidos pelo pop: */ int status, x; /* Três elementos são inseridos: */ push(&lista, 10); push(&lista, 20); push(&lista, 30); /* A lista é imprimida: */ /* Remoção do primeiro elemento */ status = pop(&lista, &x); printf("status = %d, elemento removido: %d\n", status, x); /* A lista é novamente imprimida: */ system("pause"); return 0;
10 Solução do exercício 8 (apenas a função main(). O programa deve ser completado com o que falta) int main() { pno lista = NULL; int x; char c; /* Insere números na lista até que o usuário digite n */ do { printf("digite um numero: "); scanf("%d", &x); push(&lista, x); printf("mais um numero? (s/n): "); scanf(" %c", &c); /* atenção, o espaço antes de %c é importante! */ while(c!= 'n'); /* retira os elementos da lista e os imprime um por um */ /* até que pop() retorne 0 (isto é, a lista fique vazia) */ printf("numeros na ordem inversa: "); while(pop(&lista, &x)!= 0) { printf("%d ", x); printf("\n"); system("pause"); return 0;
INF 1620 P2-23/10/04 Questão 1 Nome:
INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:
INF 1620 P2-01/11/03 Questão 1 Nome:
INF 1620 P2-01/11/03 Questão 1 Considere a implementação de uma lista encadeada para armazenar as notas dos alunos de uma turma dada pelo tipo abaixo: struct lista { char nome[81]; int mat; float p1, p2,
Introdução a Programação. Listas Encadeadas
Introdução a Programação Listas Encadeadas Tópicos da Aula Hoje aprenderemos que existem, além de vetores, estruturas de dados dinâmicas que podem armazenar coleções de dados Estruturas Dinâmicas e Vetores
Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico
A regra de acesso aos dados de uma fila é a seguinte: O primeiro elemento que entra (na fila) é o primeiro que sai (FIFO first in, first out).
Fila Algumas aplicações impõem regras de acesso às informações armazenados em estruturas de dados, restringindo como os dados são inseridos e removidos da estrutura. A fila, também conhecida como QUEUE,
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente
Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas
Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido
REVISÃO DE C. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
REVISÃO DE C Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REVISÃO DE C Ponteiros Alocação dinâmica de memória Recursão INSTITUTO DE COMPUTAÇÃO - UFF 2 PONTEIROS PONTEIROS C permite o armazenamento
REVISÃO DE PILHAS E FILAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
REVISÃO DE PILHAS E FILAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos PILHAS E FILAS São tipos especiais de listas com disciplina restrita de acesso Acesso Consulta Inserção Remoção Disciplina
Listas ligadas/listas encadeadas
1 Listas ligadas/listas encadeadas Leitura recomendada: http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html 2 Processamento elementar de listas Definição mais restritiva (tipo de lista possivelmente
Linguagem C: Listas Encadeadas
Prof. Paulo R. S. L. Coelho [email protected] Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução 2 3 Organização Introdução 1 Introdução 2 3 Introdução Introdução
Estruturas de Dados. Módulo 11 Pilhas. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 11 Pilhas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Introdução à Computação 1 de 28 Funções Na Programação, funções são conjuntos
Lista: conceito, representação e algoritmos
Lista: conceito, representação e algoritmos SCC0502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Problema Imaginem a situação da automação de uma biblioteca Todos os livros devem ser cadastrados
INF 1620 P2-14/10/05 Questão 1 Nome:
INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome
INF 1620 P3-29/06/04 Questão 1 Nome:
INF 1620 P3-29/06/04 Questão 1 Considere um arquivo texto que descreve um conjunto de retângulos e círculos. Cada linha do arquivo contém a descrição de uma figura. O primeiro caractere da linha indica
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 26/11/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova
SCC 202 Prova 1. 28/9/2010 Resolução e Comentários
SCC 202 Prova 1 28/9/2010 Resolução e Comentários Questão 1) (3.5) Sobre TADs. a) O que é e quais são as vantagens de se utilizar Tipos Abstratos de Dados (TADs) no projeto de desenvolvimento de software?
Alocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)
Alocação de Memória Linguagem de Programação Estruturada 1 Alocação dinâmica e ponteiros Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Sumario Introdução Alocação Estática
2. Considerando as seguintes declarações de uma lista encadeada
Departamento de Informática PUC-Rio INF1620 - Estruturas de Dados Terceira Lista de Exercícios 2005.1 1. Considerando as seguintes declarações de uma lista encadeada char matricula[8]; char turma; float
MC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016
MC-102 Aula 13 Funções I Instituto de Computação Unicamp 29 de Setembro de 2016 Roteiro 1 Funções Definindo uma função Invocando uma função 2 O tipo void 3 A função main 4 Protótipo de funções 5 Funções
Aula 17: Ponteiros e Alocação Dinâmica em C
Aula 17: Ponteiros e Alocação Dinâmica em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Ponteiros e Alocação Dinâmica Programação de Computadores
Instituto de C. Linguagem C: Listas. Luis Martí Instituto de Computação Universidade Federal Fluminense -
Instituto de C Linguagem C: Listas Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Listas Encadeadas Definição Funções básicas Tópicos Principais
Estruturas de Dados Filas
Estruturas de Dados Filas Roteiro Introdução Definição de Fila (Queue) Aplicações Operações sobre Fila Implementação de Fila Com vetores Com listas encadeadas Exercícios Introdução Estamos acostumados
Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?
Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos
Ponteiros e Tabelas. K&R: Capítulo 5
Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Listas Encadeadas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Listas Encadeadas David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos não
Algoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
INF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 8 Listas Encadeadas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Motivação Listas encadeadas Implementações recursivas Listas de tipos estruturados (c) Dept. Informática
Módulo 10 Listas Encadeadas
Estruturas de Dados Módulo 10 Listas Encadeadas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus
Computadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Tópicos Listas Encadeadas Introdução às listas encadeadas Manipulação de elementos Implementações recursivas Listas
Faculdade de Computação
Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
ESTRUTURA DE DADOS LISTAS LINEARES
ESTRUTURA DE DADOS LISTAS LINEARES Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender as listas sequenciais Implementar uma Lista Sequencial com Vetor Compreender o uso de listas sequenciais Material
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P4 07/12/2010 Aluno: Matrícula: Turma: Instruções: 1) Escreva seu nome completo, matrícula e turma; 2) A prova deve ser completamente resolvida
Linguagem C: Ponteiros - Alocação Dinâmica
Prof. Paulo R. S. L. Coelho [email protected] Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Ponteiros Alocação Dinâmica de Memória 2 3 4 Organização Ponteiros Alocação
Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.
Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Vetores(Arrays) Prof. Gemilson George [email protected] Blog: informaticageo.wordpress.com GEO.OBI Aula 05 Definição:
Programação Estruturada
Programação Estruturada Entrada e Saída. Mais sobre dados Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Saída
Aula 16: Laços aninhados e desvios
Aula 16: Laços aninhados e desvios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos de Repetição (Parte
1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Programação: Entrada e Saída de Dados
Programação de Computadores I Aula 06 Programação: Entrada e Saída de Dados José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/41 Saída de dados I Podemos imprimir,
INF 1620 P4 30/06/07 Questão 1 Nome:
INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40
Estruturas de Dados Aula 11: TAD Pilha
Estruturas de Dados Aula 11: TAD Pilha Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 10; Estruturas
INF 1620 P4-06/12/02 Questão 1 Nome:
INF 1620 P4-06/12/02 Questão 1 (a) Escreva uma função em C que receba como parâmetro um número inteiro não negativo e retorne, como resultado da função, o valor do seu fatorial. O cabeçalho desta função
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
Pilhas Acesso. Pilha. Fila. Listas lineares especiais. Pilhas e Filas. Listas lineares especiais mais usuais. Disciplina restrita
Listas lineares especiais s Acesso consulta inserção remoção Disciplina restrita de acesso Disciplina restrita acesso permitido somente em alguns nós Listas lineares especiais mais usuais LIFO Last In
Linguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva [email protected] Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
PONTEIROS E LISTAS. Kalinka Regina Lucas Jaquie Castelo Branco
PONTEIROS E LISTAS Kalinka Regina Lucas Jaquie Castelo Branco [email protected] ALOCAÇÃO DINÂMICA DE MEMÓRIA Pode-se assumir que as variáveis declaradas na cláusula variável do pseudo-código do algoritmo
Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses
1 3 Estrutura de dados 2 Ponteiro Ponteiro 2 O ponteiro é um tipo de dado como int, char ou float. A diferença do ponteiro ponteiro guardará um endereço de memória. Por meio deste endereço pode-se acessar
Estrutura de Dados I Bacharelado em Sistemas de Informação FACOM UFU Lista de Exercícios
Estrutura de Dados I Bacharelado em Sistemas de Informação FACOM UFU Lista de Exercícios Prof. Flávio de Oliveira Silva, M.Sc. 1. Crie uma função chamada somavetor. Esta função deve receber dois vetores
Módulo 5 Vetores e Alocação Dinâmica
Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora
Funções de Entrada e Saída
inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã
Métodos Computacionais. Variações de Listas Encadeadas
Métodos Computacionais Variações de Listas Encadeadas Variações de Listas Encadeadas Listas podem variar quanto ao: Tipo de encadeamento Simples Circulares Duplas Circulares e Duplas Conteúdo Tipos Primitivos
Estruturas Compostas Parte II
Estruturas Compostas Parte II Filas e Pilhas Leonardo Tórtoro Pereira Slides fortemente baseados no material do professor Ricardo Farias: http://www.cos.ufrj.br/~rfarias/cos121/ Pilhas Pilhas Também conhecida
Lista com descritor (continuação)
Lista com descritor (continuação) Rotina para remover o eiro elemento de uma LLSECD: char removeiniciollsecd(tdescritor *l, TInfo val) { p = l->; l->=p->prox; if (l->==1) Rotina para remover o último nó
Vetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.
Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Vetores(Arrays) Prof. Gemilson George [email protected] Blog: informaticageo.wordpress.com GEO.OBI Aula 05 Vetores
Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Listas e Filas Estruturas de Dados 2 Estrututuras de dados lineares Pilhas (stack) Estrutura de dados onde a inserção
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Lista Encadeada (Linked List)
Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de
INF 1620 P1-04/10/03 Questão 1 Nome:
INF 1620 P1-04/10/03 Questão 1 a) Implemente uma função para calcular as raízes de uma equação do segundo grau do tipo ax 2 +bx+c=0. O protótipo dessa função deve ser: void raizes (float a, float b, float
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010 1 Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
