Procurar
Últimos assuntos
Quem está conectado?
Há 3 usuários online :: 0 registrados, 0 invisíveis e 3 visitantes Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente
Página 1 de 1
Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente
1-Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente encadeada com 100, 1000, 5000.
-laço de repetição
-inserir os elementos
-marcar o tempo
-laço de repetição
-inserir os elementos
-marcar o tempo
- Código:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
typedef struct Temp
{
int info;
struct Temp *prox;
}lista;
// cria o inicio da lista
lista *inicio;
//--------------------------------------------------------
// Funcao que define a lista como vazia.
void criaLista()
{
inicio = NULL;
}
//--------------------------------------------------------
// Funcao que insere um elemento do inicio da lista.
// Retorna:
// 0 - se nao ha' memoria para inserir
// 1 - se conseguiu inserir
int insere(int dado)
{
lista *ponteiro;
ponteiro = (lista *) malloc(sizeof(lista));
if (ponteiro==NULL)
{
printf("Erro de alocacao\n");
return 0;
}
ponteiro->info = dado;
ponteiro->prox = NULL;
if (inicio==NULL)
{
inicio = ponteiro;
printf("insercao= %d\n",ponteiro->info);
}
else
{
ponteiro->prox = inicio;
inicio = ponteiro;
printf("insercao= %d\n",ponteiro->info);
}
return 1;
}
void imprime()
{
lista *ponteirolista;
if (inicio == NULL)
{
printf("funcao-impressao>>lista-null--\n\n");
return;
}
// Caso a lista nao esteja vazia
ponteirolista = inicio;
while (ponteirolista !=NULL) {
printf("imprimindo = %d\n",ponteirolista->info);
ponteirolista = ponteirolista->prox;
}
printf("funcao-impressao>>fim-da-lista ---\n\n");
}
lista *buscaDado(int dado)
{
lista *ponteiro;
if (inicio == NULL)
{
return NULL; // Lista Vazia
}
// Caso a lista nao esteja vazia
ponteiro = inicio;
while (ponteiro !=NULL) {
printf("procurando %d==%d\n",dado,ponteiro->info);
getchar();
if (ponteiro->info == dado) // achou !!
{
printf("%d",ponteiro->info);
return (ponteiro); // retorna um ponteiro para
//o inicio da lista
}
else
{
ponteiro = ponteiro->prox;
}
}
return NULL;
}
void libera (lista* l)
{
printf("Funcao liberar\n");
lista* p = l;
while (p != NULL)
{
lista* t = p->prox;
free(p);
p = t;
}
}
int main()
{
int i;
int tamanho=1;
criaLista();
printf("Digite o tamanha da lista:");
scanf("%d",&tamanho);
for (i=1; i<=tamanho;i++)
{
insere(i);
}
getchar();
getchar();
imprime();
getchar();
///contadortempo
time_t inicio_temp,fim_temp;
double diferenca;
//---time
time (&inicio_temp);
//codigo
buscaDado(1);//busta o ultimo dado
//-------fim-codigo--------
time (&fim_temp);
diferenca = difftime (fim_temp,inicio_temp); //calcula a diferença entro o tempo
printf("\nTempo em segundos: %ld", fim_temp);
printf("\nTempo em segundos: %ld", inicio_temp);
printf("\nTempo em segundos: %.2lf", diferenca );
///-----------------
getchar();
getchar();
libera (inicio);
imprime();
getchar();
return 0;
}
juk- Mensagens : 266
Data de inscrição : 02/04/2012
Tópicos semelhantes
» Cadastro de aluno ( Lista simplesmente encadeada )
» Solução portável para medir tempo em C/C++
» Calcular distancia em metros entre duas coordenadas geograficas
» Paradoxo do tempo
» para transformar um string para date
» Solução portável para medir tempo em C/C++
» Calcular distancia em metros entre duas coordenadas geograficas
» Paradoxo do tempo
» para transformar um string para date
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ontem à(s) 9:27 pm por juk
» LINKS PARA BAIXAR O OFFICE
Ter Abr 23, 2024 5:57 pm por juk
» Backup FULL FIREFOX
Dom Abr 07, 2024 3:16 pm por juk
» Backup FULL CHROME
Dom Abr 07, 2024 2:59 pm por juk
» Dowloand de Videos youtube Sem Permissão adminstrador
Seg Jan 02, 2023 2:13 pm por juk
» Cypecad 2019
Seg Jan 02, 2023 1:41 pm por juk
» Atualizando é instalando o IExplorer 11 no windows 7
Ter Ago 30, 2022 10:54 pm por juk
» COMO HABILITAR INTERNET EXPLORER NO WINDOWS 10
Sex Abr 29, 2022 6:43 pm por juk
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Qua Abr 06, 2022 10:19 am por juk