Você está na página 1de 11

Questão:

Utilizando a linguagem de programação C/C++ crie um programa que utilize a estrutura de dados
conhecida como fila para armazenar até 50 inteiros que use como elemento de armazenamento um
vetor (array).
Observe que seu programa deverá possuir pelo menos três funções do tipo void chamadas de inserir,
apagar e mostrar e que o usuário dever ter acesso a um menu de opções que permita a inclusão,
exclusão e apresentação dos valores contidos armazenados nesta fila. Cabe ao programador a
responsabilidade de avisar ao usuário erros comuns como fila cheia e vazia.

Resposta:
#include<stdio.h>
#include<stdlib.h>

//insere valor na fila


void inserir(int valor) {
if (cont == ) {
printf("Fila cheia!\n");
return;
}
fila[fim] = valor;
if (fim == TAM - 1)
fim = 0;
else
fim++;
cont++;
printf("Inserido!\n");
}
//remove o primeiro elemento da fila
void apagar() {
if (cont == 0) {
printf("Fila vazia!\n");
return;
}
if (inicio == TAM - 1)
inicio = 0;
else
inicio++;
cont--;
printf("Removido!\n");
}

//Imprime a fila
void mostrar() {
int i, j;
if (cont == 0) {
printf("Fila vazia!\n");
return;
}
printf("\nFila:");
j = inicio;
for (i = 0; i < cont; i++) {
printf("\n%d", fila[j]);
if (j == TAM - 1)
j = 0;
else
j++;
}
printf("\nFim da fila\n");
}

int main() {
int op = 0, valor;
do {
printf("\nSelecione a opcao(0 para sair):\n");
printf("1 - Inserir\n");
printf("2 - Apagar\n");
printf("3 - Mostrar\n");
scanf_s("%d", &op);
switch (op) {
case 1: printf("Digite o valor a ser inserido:\n");
scanf_s("%d", &valor);
inserir(valor);
break;
case 2: apagar();
break;
case 3: mostrar();
break;
default: printf("Digite uma opcao valida\n");
break;
}
} while (op != 0);
printf("\n");
system("pause");
return 1;
}

Programa: Visual Studio

Questão:

Utilizando a linguagem de programação C/C++ você deve criar um programa capaz de armazenar
um número indefinido de inteiros na memória. Este programa deverá solicitar ao usuário o tamanho
do vetor que armazenará este número, criar as estruturas necessárias, solicitar ao usuário que digite
cada um dos números que serão armazenados e imprimir o conjunto de números armazenados e a
soma destes números

Resposta:

#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
#include <math.h>

int main() {
int x, soma = 0, *Vetor, Tamanho;
printf("Informe o tamanho do Vetor: ");
scanf_s("%d", &Tamanho);

Vetor = (int*)malloc(sizeof(int));

for (x = 0; x<Tamanho; x++)


{
printf("Informe o valor %d: ", x + 1);
scanf_s("%d", &Vetor[x]);
soma = soma + Vetor[x];
}
printf("Total dos valores informados: %d", soma);
_getch();
};

Programa: Visual Studio

Questão:

Usando a linguagem de programação C/C++ escreva um programa que calcule o fatorial de um


número inteiro digitado pelo usuário. Para que você consiga completar esta tarefa, o programa terá
que ter pelo menos uma função.

Resposta:
#include <stdio.h>
#include <conio.h>
int main()
{
int fat, n;
printf("Insira um valor para o qual deseja calcular seu fatorial: ");
scanf_s("%d", &n);

for (fat = 1; n > 1; n = n - 1)


fat = fat * n;

printf("\nFatorial calculado: %d", fat);


_getch();
return 0;
}

Programa: Visual Studio

APOL 4
ELIZANGELA TURIANO ALVES - RU: 1352482 Nota: 100 PROTOCOLO: 201610161352482CB42DE
Questão 1/5 - Estrutura de Dados
Tendo como base um vetor de 1024 posições, qual das afirmações a seguir está correta?
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0

E Caso o vetor esteja ordenado, se utilizarmos a pesquisa sequencial, o número máximo de


pesquisas que podem ser realizadas neste vetor é de 1024. Mas se utilizarmos pesquisa binária, o
número máximo de pesquisas será 11

Questão 2/5 - Estrutura de Dados


Leia e Analise:
I – Se o vetor já estiver pré ordenado, o método de ordenação por seleção é o mais rápido.
II – Se o vetor já estiver pré ordenado, o método de ordenação por inserção é o mais rápido.
Você acertou!
Aula 04 / Slide 12 a 15

III – Independente se o vetor já estiver pré ordenado ou não, tanto o método de ordenação por seleção
quanto o método
de ordenação por inserção demoram o mesmo tempo para a ordenação completa
Considerando o conteúdo ministrado na aula 4 e com base nas afirmações I, II e II, responda:
Nota: 20.0
A Somente a I está correta

Questão 3/5 - Estrutura de Dados


Com base nas afirmações I, II e II, sobre pesquisa binária, responda:
I – A pesquisa binária sempre verifica o elemento central do conjunto de dados que está pesquisando.
II – A pesquisa binária funciona corretamente somente em vetores ordenados.
III – Em uma pesquisa binária, o número máximo de pesquisa que podem ser realizadas em um conjunto de
dados,
aumenta de 1 (uma) unidade cada vez que o conjunto de dados dobra de tamanho
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0

D As respostas I, II e III estão corretas

Questão 4/5 - Estrutura de Dados


Em pesquisa binária, qual a sequência exata de passos para realizar a pesquisa
Você acertou!
Aula 04 / slides 5 a 11

Você acertou!
Aula 04 / Slides 13, 14 e 15

Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA


Nota: 20.0

C 1º Dividir o conjunto de dados ao meio;


2º Pesquisar o elemento central do conjunto;
3º Se não for o valor desejado verificar se está acima ou a baixo deste valor central.
Se o valor desejado for maior, repetir os passos anteriores na metade superior deste conjunto, se o
valor desejado for menor, repetir os passos anteriores na metade inferior deste conjunto

Questão 5/5 - Estrutura de Dados


Com base no algoritmo de ordenação a seguir, quantas trocas de posições de valores ocorrerão no vetor.
main()
{ int vetor[8] = { 8, 16, 34, 13, 7, 3, 12, 9 };
int x, y, aux;
for(x=0; x<8; x++)
for(y=x+1; y<9; y++)
Você acertou!
Aula 04 / Slide 13, 14 e 15

if(vetor[x] < vetor[y])


{ aux = vetor[x];
vetor[x] = vetor[y];
vetor[y] = aux;
}
}
Considerando o conteúdo ministrado na aula 4, assinale a alternativa CORRETA
Nota: 20.0

C 10

Você acertou!
Aula 04 / Slide 8

Questão 1/5 Estrutura de Dados


Na tentativa de criar um programa para testar os conceitos de filas, você escreveu o
seguinte código:
No entanto, o seu programa não funcionou e você precisa encontrar onde está o erro e
cabe a você garantir que o código apresentado atenda a estrutura básica de um programa
contendo uma lista.
Considerando as opções a seguir, maque aquela que contém a linha de código que está
errada.

A temp = cauda;

Questão 2/5 Estrutura de Dados Considerando o código a seguir:


Indique qual das opções a seguir apresenta o resultado que será visto na janela do
console caso este programa seja executado.

A 0 1 6 7 7 8 8 12 23 45
Pressione qualquer tecla para continuar. . .
Tratase de uma função de ordenação e que deve ser seguida passo a passo para o entendimento

Questão 3/5 Estrutura de Dados


Com relação aos conceitos de Pilhas e Filas, informe a questão correta com base nas
afirmativas a seguir:
I – FIFO – First In Firt Out, é o conceito utilizado para Pilhas.
II – FIFO – First In Firt Out, é o conceito utilizado para Filas.
III – LIFO – Last In Firt Out, é o conceito utilizado para Pilhas.
IV – LIFO – Last In Firt Out, é o conceito utilizado para Filas.
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA:

A Asquestões II e III estão corretas

Questão 4/5 Estrutura de Dados


Sobre Filas, é correto afirmar:
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

C O primeiro elemento que entrou na Fila, obrigatoriamente deve ser o primeiro a sair

Questão 5/5 Estrutura de Dados


Sobre realizar pesquisas em Listas Duplamente Encadeadas Circulares, qual afirmativa
está incorreta:
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA

A Não fazemos pesquisas em Listas Duplamente Encadeadas Circulares, por não termos como saber
onde termina e onde começa a Lista
Questão 1/5 - Estrutura de Dados
Quais são os tipos de Estruturas Listas?

Lista encadeada; Lista duplamente encadeada; Lista encadeada circular; Lista duplamente encadeada circular

Questão 2/5 - Estrutura de Dados


Qual a diferença entre as estruturas de repetição “While” e “Do While”?

Na estrutura “while” as rotinas a serem executadas ficam em loop “enquanto” a condição lógica de finalização seja
“verdadeira”.
Já no caso da estrutura “Do While”, as rotinas ficam em loop “até” que a condição lógica seja verdadeira. Outra
diferença está no fato que as rotinas da estrutura “Do While” serão executadas pelo menos uma vez, pelo fato da
verificação da condição de repetição ser ao final da estrutura. Já no caso da estrutura “while”, como a condição está no
início, as rotinas da estrutura podem nem serem executadas.

Questão 3/5 - Estrutura de Dados


Explique Estrutura Pilha.

Pilhas são estruturas que utilização alocação dinâmica de memória e variáveis ponteiros para o armazenamento
temporário de dados. Os dados são empilhados de forma a ordenar de acordo com a entradas de dados na Pilha, onde
o último elemento que entrou na Pilha deve ser o primeiro a sair.

Questão 4/5 - Estrutura de Dados


O que são ponteiros?

São variáveis que armazenam endereços de memória de outras variáveis do mesmo tipo. Ex.: se uma variável ponteiro
é do tipo inteiro, ela somente pode receber endereços de memória de outras variáveis ponteiro.

Questão 5/5 - Estrutura de Dados


Qual a vantagem de utilizarmos a estrutura de repetição “for” em comparação a estrutura “while”?
Nota: 20.0

Para que as rotinas dentro de uma estrutura “while” sejam executadas, a condição lógica deve ser verdadeira. Com isso
as variáveis da condição devem ser inicializadas antes do comando “while” e dentro da estrutura deve haver uma
condição de alteração desta variável de controle. Já na estrutura “for”, na mesma linha de comando do “for” está a
inicialização da variável de controle, a condição de finalização do loop e o incremento desta variável de controle.

Questão 1/10
Sobre incluir elementos em uma Lista, responda:
I – Para incluir registros em uma Lista, estes podem ser incluídos no início, no final ou no meio da Lista.
Para o caso de incluir no final e no início, temos que tomar o cuidado de após conectar o registro da Lista,
atualizar as respectivas variáveis de controle.
II – Os passos corretos e em ordem, para incluir registros em uma Lista são: 1º Alocar espaço de memória;
2º Armazenar os dados; 3º Conectar (ligar) o registro na Lista; 4º Atualizar as variáveis de controle.
III – Se a Lista não for ordenada, com relação a programação, é mais fácil incluir no início ou no final da
Lista
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA

D As questões I, II e III estão corretas

Questão 2/10
Lista é um conceito de trabalho, uma metodologia com regras, similar a Pilhas e Filas.
Para a montagem das Listas utilizamos alocação dinâmica de memória, ponteiros e registros.
Com base nisso e com as afirmações a seguir, responda:
I – Assim como Pilhas e Filas, em Listas somente podemos incluir no início ou no final de uma lista.
II – Diferente de Pilhas e Filas, em Listas podemos incluir no meio de uma Lista.
III – Em Listas podemos incluir de forma ordenada as informações. Deste modo, podemos em uma mesma
Lista incluir no início, no final ou no meio (entre dois registros).
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.

E Estão corretas as questões II e III.

Questão 3/10
Quantos são e quais são os tipos de Listas que podemos ter:
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA
B 4 Encadeada, Duplamente Encadeada, Encadeada Circular e Duplamente Encadeada Circular

Questão 4/10
Sobre realizar pesquisas em Listas Duplamente Encadeadas Circulares,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).

A Não fazemos pesquisas em Listas Duplamente Encadeadas Circulares, por não termos como saber
onde termina e onde começa a Lista.

Questão 5/10
Para armazenar dados em uma Pilha, os seguintes passos devem ser realizados na respectiva ordem
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

B 1. Alocar espaço de memória


2. Armazenar os dados no espaço alocado
3. Conectar o registro alocado na Pilha
4. Atualizar variáveis de controle

Questão 6/10
Sobre registros utilizados em Listas Duplamente Encadeadas,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).

E Os registros possuem duas variáveis ponteiros do mesmo tipo do registro, para armazenar o
endereço do próprio registro e do próximo da Lista.

Questão 7/10
Para conectarmos um determinado registro entre dois outros registros de uma Lista (incluir no meio), se não
seguirmos uma ordem correta de procedimentos, podemos perder o encadeamento de nossa Lista.
Para incluir fazemos primeiramente uma pesquisa para saber onde incluir.
Se após a rotina de pesquisa para incluir, ficou definido que a variável ponteiro “aux” contem o endereço do
registro que vai anteceder o registro que vai entrar, e a variável “ptr” contem o endereço do registro a ser
incluído.
Considerando o conteúdo ministrado na aula 6, qual rotina em programação devemos utiliza? Assinale a
alternativa
CORRETA.

B ptr->ante = aux;
ptr->prox = aux->prox;
ptr->prox->ante = ptr;
ptr→ante->prox = ptr;

Questão 8/10
Sobre Listas, é correto afirmar:
I – Assim como em Filas, precisamos de variáveis de controle para armazenar os endereções dos registros
de início e final da Lista.
II – Em Listas Circulares podemos ter uma única variável de controle que aponte para pelo menos um
endereço de memória de um registro que esteja na Lista.
III – Em Listas precisamos de uma variável ponteiro auxiliar para podermos percorrer cada registro da Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.

Questão 9/10
Com relação as informações sobre algoritmos de Pilhas e Filas Fila a seguir, responda
I – Quando trabalhamos tanto com Pilhas quanto com Filas, precisamos ter uma variável de controle para
informar aoprograma onde estas estruturas começam e outra variável de controle para informar ao
programa onde estas estruturas terminam.
II – Quando trabalhamos com o conceito Pilha, precisamos de uma única variável de controle para informar
onde é oinício da Pilha. Já para o conceito de Fila, precisamos de duas variáveis de controle, uma para
informar ao programaonde a Fila começa e outra para informar onde a Fila termina.
III – No algoritmo de Pilha, se a variável de controle estiver com o conteúdo NULL, significa que não existe
nenhum dadoarmazenado na Pilha.
IV – Quando retiramos dados de uma Fila, temos que seguir a seguinte ordem: 1º trabalhar com o conteúdo
do registro;
2º armazenar o endereço do registro em uma variável auxiliar; 3º atualizar a variável de controle par o
próximo endereço da Fila; 4º liberar o espaço de memória que está na variável auxiliar. Se não seguirmos
corretamente estes passos,podemos perder o encadeamento da Fila.
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

C As questões II, III e IV estão corretas

Questão 10/10
Sobre incluir elementos em uma Lista:
I – Para incluir registros em uma Lista, estes podem ser incluídos no início, no final ou no meio da Lista.
Para o caso de incluir no final e no início, temos que tomar o cuidado de após conectar o registro da Lista,
atualizar as respectivas variáveis de controle.
II – Os passos corretos e em ordem, para incluir registros em uma Lista são: 1º Alocar espaço de memória;
2º Armazenar os dados; 3º Conectar (ligar) o registro na Lista; 4º Atualizar as variáveis de controle.
III – Se a Lista não for ordenada, com relação a programação, é mais fácil incluir no início ou no final da
Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.

D As questões I, II e III estão corretas.

Questão 1/10 - Estrutura de Dados


Sobre incluir elementos em uma Lista:
I – Para incluir registros em uma Lista, estes podem ser incluídos no início, no final ou no meio da Lista.
Para o caso deincluir no final e no início, temos que tomar o cuidado de após conectar o registro da Lista,
atualizar as respectivas variáveis de controle.
II – Os passos corretos e em ordem, para incluir registros em uma Lista são: 1º Alocar espaço de memória;
2º Armazenar os dados; 3º Conectar (ligar) o registro na Lista; 4º Atualizar as variáveis de controle.
III – Se a Lista não for ordenada, com relação a programação, é mais fácil incluir no início ou no final da
Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.

D As questões I, II e III estão corretas.

Questão 2/10 - Estrutura de Dados


Sobre realizar pesquisas em Listas Duplamente Encadeadas Circulares,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).

A Não fazemos pesquisas em Listas Duplamente Encadeadas Circulares, por não termos como saber
onde termina e onde começa a Lista.

Questão 3/10 - Estrutura de Dados


A função a seguir lista na tela todos os registros de uma determinada Lista Encadeada e não Circular.
Se esta Lista fosse Circular, quis alterações deveriam ser realizadas para não corrermos o risco de ficarmos
em loop?
listar()
{ ptr = prim;
while( ptr != NULL)
{ printf(“Nome: %s \n”, ptr>
nome);
ptr = ptr>
prox;
}
}
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA.

C aux = ptr = prim;


do
{ printf(“Nome: %s \n”, ptr>
nome);
ptr = ptr>
prox;
} while( ptr != aux);

Questão 4/10 - Estrutura de Dados


Sobre Pilhas, é correto afirmar:
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

E O último elemento que entrou na Pilha, obrigatoriamente deve ser o primeiro a sair

Questão 5/10 - Estrutura de Dados


Para armazenar dados em uma Pilha, os seguintes passos devem ser realizados na respectiva ordem
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

B 1. Alocar espaço de memória


2. Armazenar os dados no espaço alocado
3. Conectar o registro alocado na Pilha
4. Atualizar variáveis de controle

Questão 6/10 - Estrutura de Dados


Para conectarmos um determinado registro entre dois outros registros de uma Lista (incluir no meio), se não
seguirmos uma ordem correta de procedimentos, podemos perder o encadeamento de nossa Lista.
Para incluir fazemos primeiramente uma pesquisa para saber onde incluir.
Se após a rotina de pesquisa para incluir, ficou definido que a variável ponteiro “aux” contem o endereço do
registro que vai anteceder o registro que vai entrar, e a variável “ptr” contem o endereço do registro a ser
incluído.
Considerando o conteúdo ministrado na aula 6, qual rotina em programação devemos utiliza? Assinale a
alternativa
CORRETA.

B ptr>ante = aux;
ptr>prox = aux>prox;
ptr>prox>ante = ptr;
ptr>ante>prox = ptr;

Questão 7/10 - Estrutura de Dados


Sobre a rotina do Programa a seguir:
struct Dados {
char nome[30];
struct Dados *ante, *prox;
} *prim, *ulti, *ptr;
teste()
{ while( prim != NULL)
{ ptr = prim;
prim = prim>
prox;
free(ptr);
}
ulti = NULL;
}
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).

C A linha de comando “ptr = prim;” é desnecessária, pois podemos liberar espação de memória
diretamente com a variável “prim”. Ficando deste modo o comando: “free(prim>prox);”.

Questão 8/10 - Estrutura de Dados


Sobre registros utilizados em Listas Duplamente Encadeadas,
Considerando o conteúdo ministrado na aula 6, assinale a alternativa INCORRETA (ERRADA).

E Os registros possuem duas variáveis ponteiros do mesmo tipo do registro, para armazenar o
endereço do próprio registro e do próximo da Lista.

Questão 9/10 - Estrutura de Dados


Quantos são e quais são os tipos de Listas que podemos ter?
Considerando o conteúdo ministrado na aula 6, assinale a alternativa CORRETA.
B 4 Encadeada, Duplamente Encadeada, Encadeada Circular e Duplamente Encadeada Circular;

Questão 10/10 - Estrutura de Dados


Com relação as informações sobre Fila a seguir, responda
I – Quando declaramos um registro que será utilizado para a criação de Filas, temos que criar um campo
ponteiro do mesmo tipo do registro para conter o endereço de memória do próximo registro a entrar na Fila.
Deste modo, quando tiramos um registro da Fila, sabemos onde está o anterior a este que saiu.
II – Quando declaramos um registro que será utilizado para a criação de Filas, temos que criar um campo
ponteiro do mesmo tipo do registro para conter o endereço de memória do registro que entrou antes dele na
Fila. Deste modo, quando tiramos um registro da Fila, sabemos onde está o anterior a este que saiu.
III Quando declaramos um registro que será utilizado para a criação de Filas, temos que criar um campo
ponteiro do mesmo tipo do registro para conter o endereço de memória deste mesmo registro. Deste modo
é que o programa sabe onde está cada registro da Fila na memória.
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

A Somente a afirmação I está correta

Questão 1/10 - Estrutura de Dados


Sobre alocação dinâmica de memória, é correto afirmar:
Considerando o conteúdo ministrado na aula 5, assinale a alternativa CORRETA

D A principal vantagem de trabalharmos com alocação dinâmica de memória é que não precisamos
definir a quantidade de espaço a ser alocado em linha de código.
O espaço de memória é alocado de acordo com a necessidade em tempo de execução do programa

Questão 8/10 - Estrutura de Dados


Sobre Listas, é correto afirmar:
I – Assim como em Filas, precisamos de variáveis de controle para armazenar os endereções dos registros
de início e final da Lista.
II – Em Listas Circulares podemos ter uma única variável de controle que aponte para pelo menos um
endereço de memória de um registro que esteja na Lista.
III – Em Listas precisamos de uma variável ponteiro auxiliar para podermos percorrer cada registro da Lista.
Considerando o conteúdo ministrado na aula 6, assinale a alternativa com a sequência CORRETA.

D Todas as questões estão CORRETAS.

Questão 1/5
Explique o conceito de variáveis “locais” e “globais” utilizadas em funções comuns, assim como a utilização
de variáveis em funções recursivas.

Quando uma variável é declarada como “global”, é pode ser utilizada por todas as funções do programa. Deste modo
se ~em alguma função seu conteúdo for alterado, isto influência todas as funções, pois por ser “global”, ela está em
uma posição única de memória. Já uma variável “local”, ela somente existe dentro da função que foi declarada, ou seja,
se foi criada dentro da função “A”, as demais funções não têm acesso ao seu conteúdo. No caso de funções recursivas,
onde as variáveis possuem o mesmo nome, como em cada chamada da função é criada uma nova instância da função,
também é criado uma nova variável em um novo espaço de memória. Deste modo, embora tenham o mesmo nome
seus conteúdos são distintos.

Questão 2/5
Em um programa, podemos substituir a utilização da estrutura de decisão “switch” pela estrutura “if”?
Justifique sua resposta.

Sim. Pois podemos utilizar o conceito de “ifs aninhados“ onde cada “case” do “switch” será substituído por um “if” dentro
de outro com a utilização da condição “else” do “if”.

Questão 3/5
O que são Listas Duplamente Encadeadas Circulares.

São estruturas onde cada registro da estrutura possui o endereço de memória de próximo registro e do registro anterior,
caracterizando assim lista duplamente encadeada. Sendo que o último registro possui o endereço de memória do
primeiro registro da lista e o primeiro registro da lista possui o endereço do último registro da lista, caracterizando assim
a lista circular.
Questão 4/5
Diferencie Estrutura Pilha de Estrutura Fila.

Tanto Pilha quanto Fila são estruturas de armazenamento temporário de dados. A diferença está na metodologia de
trabalho de cada uma, enquanto na Pilha o último elemento que entre deve ser o primeiro a sair, na Fila o primeiro que
entrou tem que ser o primeiro a sair.

Questão 5/5
Cite dois tipos de ordenação de vetores.

Ordenação por seleção e ordenação por inserção.

Você também pode gostar