TADS IFGoiano-Urutaí
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Procurar
 
 

Resultados por:
 


Rechercher Pesquisa avançada

Últimos assuntos
» CRIANDO UM MONITOR VIRTUAL
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptyQui maio 16, 2024 9:29 pm por juk

» Atividade Prática 5: Classes Abstratas e Interfaces
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 10:24 pm por juk

» Atividade Prática 4: Exercitando Herança e Polimorfismo
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 10:15 pm por juk

» Atividade Prática 4: Exercitando Herança e Polimorfismo
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 10:11 pm por juk

» Atividade Prática 3: Exercitando o relacionamento entre classes
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 10:06 pm por juk

» Atividade Complementar: Exercitando a criação de classes e objetos
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 10:01 pm por juk

» Atividade Prática 2: Exercitando a criação de classes e objetos
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 9:54 pm por juk

» Atividade Prática 1: Problemas Básicos de Programação
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptySeg maio 13, 2024 9:50 pm por juk

» Principais IDEs para Java
programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente EmptyQui Abr 25, 2024 9:27 pm por juk

Quem está conectado?
1 usuário online :: 0 registrados, 0 invisíveis e 1 visitante

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

Ir para baixo

programa - Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente Empty Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente

Mensagem  juk Dom Jan 20, 2013 10:36 pm

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
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
juk

Mensagens : 274
Data de inscrição : 02/04/2012

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos