Alojamento Web
// Codigo Programa da Lista Sequencial#include<stdio>#include<stdlib>#include <dos>#include <time>int valor[200000];//listaint k;int fim;//fim da listaint sinal;//variavel logicaint i, cont, cont2, val, aux;int Rand[40];int no[40];clock_t iniciar, parar;double Clock[100];FILE *fp;main(){//declarar os valores para a listasinal = 1;srand(time(NULL));fp=fopen ("graficoSeq.txt","w");if (!fp)printf ("Erro na abertura do arquivo.");for (k=1,Rand[0]=0;k<=30; k++){Rand[k] = rand() % 1000000;}iniciar = clock();for (k=0;k<=100000; k++){valor[k] = rand() % 1000000;fim = k;}parar = clock();k=0;Clock[99] = ((parar - iniciar) / CLK_TCK);iniciar = clock();ordenar(fim);parar = clock();Clock[98] = ((parar - iniciar) / CLK_TCK);for (cont = 1; cont<=30; cont++){no[cont]= pesquisa2(Rand[cont]);iniciar = clock();val = Rand[cont];inc(no[cont]);parar = clock();Clock[cont] = ((parar - iniciar) / CLK_TCK);}for (cont = 11; cont<=20; cont++){no[cont]= pesquisa(Rand[cont]);iniciar = clock(); del(no[cont]);parar = clock();Clock[cont] = ((parar - iniciar) / CLK_TCK);}for (cont = 21; cont<=30; cont++){iniciar = clock(); // pego o tempo antes de iniciar a tarefano[cont]= pesquisa(Rand[cont]);parar = clock();Clock[cont] = ((parar - iniciar) / CLK_TCK);}for (i=0;i<=79;i++)fprintf(fp,"#");fprintf(fp,"n""t""t""t""Tabela de Tempo (s) - Lista Sequencial""n""n");fprintf(fp,"Carregar: ""%f""t""Ordenar: ""%f""n",Clock[99], Clock[98]);fprintf(fp,"n""Inserir""tNO""t""t""Excluir""tNO""t""t""Pesquisar""tNO""n");for (cont=1;cont<=10;cont++)fprintf(fp,"%f""t""%dt""%f""t""%dt""%f""t%d""n", Clock[cont],no[cont], Clock[cont+10],no[cont+10], Clock[cont+20], no[cont+20]);fprintf(fp,"n");for (i=0;i<=79;i++)fprintf(fp,"#");//Escrever na telafor (i=0;i<=79;i++)printf("#");printf("n""t""t""t""Tabela de Tempo (s) - Lista Sequencial""n""n");printf("Carregar: ""%f""t""Ordenar: ""%f""n",Clock[99], Clock[98]);printf("n""Inserir""tNO""t""t""Excluir""tNO""t""t""Pesquisar""tNO""n");for (cont=1;cont<=10;cont++)printf("%.9f""t""%dt""%.9f""t""%dt""%.9f""t%d""n", Clock[cont],no[cont], Clock[cont+10],no[cont+10], Clock[cont+20], no[cont+20]);printf("n");for (i=0;i<=79;i++)printf("#");printf("nPressiona Qualquer tecla pra sair...");fclose(fp);getch();exit(0);}int acc(int k){ // aceder ao k-esimo valor passadoif (k<0> fim){sinal = -1;}else{sinal = 1;val = valor[k];}}int alt(int k){ //alterar o k-esimo valor passadoif (k<0>fim){sinal = -1;}else{sinal = 1;valor[k] = val;}}int inc(int k){ //Incluir um elemento na listai = fim;if (k<0>fim){sinal = -1;}else{while (i>=k) {valor[i+1] = valor;i--;}valor[k] = val;}fim++;}int del(int k){if (k<0>fim){sinal = -1;}else{for (k; k<=(fim-1); k++) {valor[k] = valor[k+1];}}valor[fim]= 0;fim--;}void ordenar(int fim2){for (k=0;k<=fim2; k++){for (cont2 = k+1;cont2<fim2>valor[cont2])){aux = valor[k];valor[k] = valor[cont2];valor[cont] = aux;}}}}int pesquisa(int pesq){int q = 0;while ((pesq != valor[q]) && (q<fim> valor[q]) && (q<=fim);q++){}return q;}
//Codigo do programa Lista Encadeada#include <stdlib>#include <stdio>#include <dos>#include <time>float Clock[100];clock_t iniciar, parar;int k, i, cont;int Rand[101];int no;int No[101];FILE *fp;struct lista{int conteudo;struct lista *prox;};typedef struct lista encadeada;encadeada c;encadeada *p;encadeada *ini;main(){fp=fopen ("graficoEnc.txt","w");if (!fp)printf ("Erro na abertura do ficheiro.");ini = malloc (sizeof (encadeada));ini->prox = NULL;p = NULL;srand(time(NULL));for (Rand[0]=0,k=0;k<=100; k++)Rand[k] = rand() % 1000000;//Carrega e ordena ao mesmo tempoiniciar = clock();for (k=0;k<=100000; k++){insere((rand() % 1000000), ini);}parar = clock();Clock[0] = (((parar - iniciar) / (CLK_TCK)));k=0;//inserir 30 valores aleatorios e ordenarfor (cont=1;cont<=30; cont++){iniciar = clock();insere(Rand[cont],ini );parar = clock();busca(Rand[cont],ini);No[cont] = no;Clock[cont] = ((parar - iniciar) /(CLK_TCK));}//for (cont = 11; cont<=20; cont++){iniciar = clock();if (busca(Rand[cont],ini)!= NULL)Remove((busca(Rand[cont],ini))); elseif (busca(Rand[cont+10],ini)!= NULL)Remove((busca(Rand[cont+10],ini))); //so pra diminuir a probabilidade deelse //nao inserir nenhum noif (busca(Rand[cont+20],ini)!= NULL)Remove((busca(Rand[cont+20],ini))); //Idemparar = clock();No[cont] = no;Clock[cont] = ((parar - iniciar) / (CLK_TCK));}for (cont=21;cont<=30; cont++){iniciar = clock();busca(Rand[cont],ini);parar = clock();No[cont] = no;Clock[cont] = ((parar - iniciar) / (CLK_TCK));}for (i=0;i<=79;i++)fprintf(fp,"#");fprintf(fp,"n""t""t""t""Tabela de Tempo (s) - Lista Encadeada""n""n""Carregar E Ordenar ao Mesmo Tempo: %f""n",Clock[0]);fprintf(fp,"Inserir""t""t""NO""t""Remover""t""t""NO""t""Buscar""t""t""NO""n");for (cont=1;cont<=10;cont++)fprintf(fp,"%f""t""%dt""%f""t""%dt""%f""t%d""n", Clock[cont], No[cont], Clock[cont+10],No[cont+10], Clock[cont+20],No[cont+20]);fprintf(fp,"n");for (i=0;i<=79;i++)fprintf(fp,"#");for (i=0;i<=79;i++)printf("#");printf("n""t""t""t""Tabela de Tempo (s) - Lista Encadeada""n""n""Carregar E Ordenar ao Mesmo Tempo: %f""n",Clock[0]);printf("Inserir""t""t""NO""t""Remover""t""t""NO""t""Buscar""t""t""NO""n");for (cont=1;cont<=10;cont++)printf("%f""t""%dt""%f""t""%dt""%f""t%d""n", Clock[cont], No[cont], Clock[cont+10],No[cont+10], Clock[cont+20],No[cont+20]);printf("n");for (i=0;i<79> prox;while (p != NULL && p->conteudo != x){p = p->prox;no++;}return p;}void insere (int x, encadeada * q){encadeada *nova;encadeada *p;nova = malloc (sizeof (encadeada));nova->conteudo = x;nova->prox = q->prox;q->prox = nova;for (p = ini->prox; (p != NULL)&& (p->prox!=NULL); p = p->prox){if ( (p->conteudo)>(p->prox->conteudo)){x = p->conteudo;p->conteudo = p->prox->conteudo;p->prox->conteudo = x;}}}void Remove (encadeada *p){encadeada *morta;if ( p->prox != NULL){morta = p->prox;p->prox = morta->prox;}else p->prox = NULL;free (morta);}void imprimir (encadeada *ini){encadeada *p;for (p = ini->prox; (p != NULL); p = p->prox)printf ("%d""n", p->conteudo);}