예제 #1
0
TLS* insere_fim(TLS *l, char *elem){
    if(!l) return insere_inicio(l,elem);

        TLS *p = l;
        while((p->prox)) p=p->prox;
        TLS *q = insere_inicio(NULL, elem);
        p->prox = q;
        return l;

}
예제 #2
0
int main(){
    struct l_descr l1;
    inicializa_lista(&l1);
    insere_inicio(&l1, 4);
    insere_inicio(&l1, 1);
    insere_ordenado(&l1, 2);
    insere_ordenado(&l1, 3);
    remove_indice(&l1, 4);
    imprime_lista(&l1);
}
예제 #3
0
TLS* insere_fim_sem_repeticao(TLS *l, char *elem){

    if(!l) return insere_inicio(l,elem);
    if(busca_lista(l,elem)) return l;

        TLS *p = l;
        while((p->prox)) p=p->prox;
        TLS *q = insere_inicio(NULL, elem);
        p->prox = q;
        return l;

}
예제 #4
0
int main()
{
	printf(" _________________________________________ \n");
	printf("| IFCE - Engenharia de Telecomunica��es   |\n");
	printf("| Estrutura de Dados - Prof. Ernani       |\n");
	printf("| Aluna: Brena Kesia                      |\n");
	printf("|_________________________________________|\n");

	inicio = criabox('A');
	imprime_lista(inicio);
	inicio = insere_inicio(inicio, 'B');
	imprime_lista(inicio);
	insere_final(inicio, 'C');
	imprime_lista(inicio);
	insere_final(inicio, 'D');
	imprime_lista(inicio);
	insere_entre(inicio, 'E', 'A');
	imprime_lista(inicio);
	insere_final(inicio, 'F');
	imprime_lista(inicio);
	inicio = insere_inicio(inicio, 'G');
	imprime_lista(inicio);
	exclue_ultimo(inicio);
	imprime_lista(inicio);
	inicio = exclue_primeiro(inicio);
	imprime_lista(inicio);
	insere_entre(inicio, 'H', 'A');
	imprime_lista(inicio);
	inicio = exclue_valor(inicio, 'A');
	imprime_lista(inicio);
	insere_entre(inicio, 'I', 'E');
	imprime_lista(inicio);
	insere_final(inicio, 'J');
	imprime_lista(inicio);
	insere_entre(inicio, 'K', 'B');
	imprime_lista(inicio);
	inicio = exclue_valor(inicio, 'D');
	imprime_lista(inicio);
	inicio = exclue_valor(inicio, 'K');
	imprime_lista(inicio);
	inicio = exclue_valor(inicio, 'I');
	imprime_lista(inicio);
	inicio = exclue_valor(inicio, 'B');
	imprime_lista(inicio);
	insere_final(inicio, 'L');
	imprime_lista(inicio);

	return 0;
}
예제 #5
0
void insere_ordenado(struct l_descr *lista, int valor){
    if(esta_vazia(lista) == 1){
        insere_lista_nula(lista, valor);
        return;
    }
    if(valor <= lista->inicio->valor){
        insere_inicio(lista, valor);
        return;
    }
    if(valor >= lista->inicio->anterior->valor){
        insere_fim(lista, valor);
        return;
    }
    struct no *aux = lista->inicio;
    while(valor > aux->valor){
        aux = aux->proximo;
    }
    struct no *novo = malloc(sizeof(struct no));
    aux->anterior->proximo = novo;
    novo->anterior = aux->anterior;
    aux->anterior = novo;
    novo->proximo = aux;
    novo->valor = valor;
    lista->cnt++;
}
예제 #6
0
void insere_fim(Lista * l, int valor){
    Node * n=cria_node(valor);
    if(l->tam == 0){
        insere_inicio(l,valor);
        return;
    }else{
        l->ultimo->prox=n;
        n->ant=l->ultimo;
        l->ultimo=n;
        l->tam++;
    }
    return;
}
예제 #7
0
int main(){
	celula ini;
	ini.prox=NULL;

	insere_fim(&ini,15);
	insere_fim(&ini,25);
	insere_fim(&ini,35);
	insere_fim(&ini,45);

	insere_inicio(&ini,7);
	insere_fim(&ini,1);
	remove_inicio(&ini);
	remove_fim(&ini);

	celula *t;
	for(t=ini.prox; t!=NULL; t=t->prox){
		printf("%d\n",t->conteudo);
	}

	return 0;	
}
예제 #8
0
파일: main.c 프로젝트: renanbatko/scc0202
int main(void){	
	int i;
	struct aluno bixo;
	
	Lista *li;
	li = cria();
	
	for (i = 0; i < N; i++){
		scanf(" %d %s", &bixo.nusp, bixo.nome);
		insere_final(li, bixo);
	}
	print(li);
	
	scanf(" %d %s", &bixo.nusp, bixo.nome);
	insere_inicio(li, bixo);
	print(li);
	
	scanf(" %d %s", &bixo.nusp, bixo.nome);
	insere_meio(li, bixo, 2);
	print(li);
	
	remove_final(li);
	print(li);
	
	remove_meio(li, 1);
	print(li);
	
	remove_inicio(li);
	print(li);
	
	printf("%d\n", tamanho(li));
	
	libera(li);

	return 0;
}