예제 #1
0
파일: ex25.c 프로젝트: lukasg18/codigos
int main(int argc, char **argv)
{
	no *n;
	lista *l;
	lista *l2;
	int i;
	l = criaLista();
	l2 = criaLista();
	for(i = 1 ; i < 5 ; i++){
			n = criaNo(i);
			insereFim(l,n);
		}
	for(i = 1 ; i < 5 ; i++){
			n = criaNo(i);
			insereIni(l2,n);
		}	
	printf("\n ***inserindo no fim e imprimindo*** \n");
	imprimeLista(l);
	
	printf("\n ***inserindo no inicio e imprimindo*** \n");
	imprimeLista(l2);
	
	liberaLista(l);/* libernado as listas*/
	liberaLista(l2); /* libernado as listas*/
	return 0;
}
예제 #2
0
파일: ex20.c 프로젝트: lukasg18/codigos
int main(int argc, char **argv)
{
	no *n;
	lista *l;
	lista *l2;
	lista *l3;
	int i,k;
	l = criaLista();
	l2 = criaLista();
	l3 = criaLista();
	
	for(i = 1 ; i < 5 ; i++){
			n = criaNo(i);
			insereFim(l,n);
		}
	for(i = 2 ; i < 6 ; i++){
			n = criaNo(i);
			insereFim(l2,n);
		}
	printf("\n **lista ** \n");
	imprimeLista(l);
	
	printf("\n **lista 2** \n");
	imprimeLista(l2);
	
	printf("\n **uniao ** \n");
	uniao(l,l2,l3);
	imprimeLista(l3);
	liberaLista(l3);
	l3 = criaLista();
	
	printf("\n **intersecao ** \n");
	intersecao(l,l2,l3);
	imprimeLista(l3);
	
	k = pertence(l,l2);
	printf("\n \n 0 - NAO \n 1 - SIM \n");
	printf("pertence: %d \n",k);
	
	liberaLista(l);
	liberaLista(l2);
	liberaLista(l3);
	return 0;
}
int main(int argc,char** argv)
{
    FILE *input = NULL,*output = NULL;
    lista_enc_t *listaTarefas = NULL,*listaPrioridade = NULL;
    int i;
    no_t *no;
    task_t *runningTask=NULL,*previousTask=NULL;

    input = fopen(argv[1],"r");
    if(input == NULL){
        fprintf(stderr,"Erro: Arquivo de leitura invalido.");
        exit(EXIT_FAILURE);
    }

    int HP = hiperPeriod(input);

    listaTarefas = criaListaDeTarefas(input);
    listaPrioridade = criaListaEncadeada();

    fclose(input);

    output = fopen(argv[2],"w");

    if(output != NULL)
        taskImprimeCabecalho(listaTarefas,output);
    for(i=0;i<=HP;i++){
        taskManegement(listaTarefas,listaPrioridade,&runningTask,&previousTask,i,output);
    }
    if(output != NULL){
        taskImprimeFim(listaTarefas,output);
        fclose(output);
    }

    no = listaCabeca(listaPrioridade);
    liberaNo(no);
    liberaLista(listaPrioridade);
    no = listaCabeca(listaTarefas);
    liberaNo(no);
    liberaLista(listaTarefas);

    return 0;
}
예제 #4
0
/* fazer uma cópia da lista*/
void copiaLista(lista *l1, lista *l2){
	no *aux;
	no *pega;
	int i;
	liberaLista(l1);
	l1 = criaLista();
	aux = l2 -> ini;
	i = 0;
	while(i < (l2 -> tam)){
		pega = criaNo(aux -> conteudo);
		insereFim(l1,pega);
		aux = aux -> prox;
		i++;
	}
}
예제 #5
0
파일: ex7.c 프로젝트: lukasg18/codigos
int main(){
	int i;
    lista l;
    no n;
    criaLista(&l);
    for(i = 0; i < 10; i++){
		criaNo(&n,i);
		insereFim(&l,n); /* inserindo no Fim*/
	}
	printf("\n *** removendo a 2 pos***\n");
	removePos(&l,2);
	imprimeLista(&l);
	
	liberaLista(&l);
	
    return 0;
}
예제 #6
0
//Libera Memoria aolocada pelo grafo
void liberaGrafo(grafo G)
{
    //libera Lista de Adjacencia
    int cont;
    for(cont=0; cont < G->numVertices; cont++)
    {
        liberaLista(G->listaAdj[cont]);//Cada Posição do Vetor da Lista de Adj
    }
    free(G->listaAdj);

    //Libera outros vetores
    free(G->cor);
    free(G->anterior);
    free(G->probs);

    //Finalmente Libera apontador do grafo
    free(G);
}
예제 #7
0
파일: ex3.c 프로젝트: lukasg18/codigos
int main(){
	int i;
    lista l;
    no n;
    criaLista(&l);
    for(i = 0; i < 10; i++){
		criaNo(&n,i);
		insereFim(&l,n);
	}
	criaNo(&n,5);
	insereNCopias(&l,n,2,4);
	printf("\n**INSERE NCOPIAS\n");
	imprimeLista(&l);
	
	liberaLista(&l);
	
    return 0;
}