Enviado em 15/04/2018 - 18:20h
Boa noite!
/* lista.h */
#ifndef LISTA_H
#define LIST_H
typedef struct sCelula{
int dado;
struct sCelula *prox;
} Celula;
typedef struct sLista{
Celula* inicio;
} Lista;
#endif
/* lista.c */
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
#include <malloc.h>
#include <math.h>
#include "lista.h"
void iniciarLista( Lista * lista){
lista->inicio = NULL;
}
void imprimirLista(Lista*lista){
Celula * p;
p = lista->inicio;
printf("Lista: ");
while( p != NULL){
printf("%d ",p->dado);
p = p->prox;
}
printf("\n");
}
void inserirInicio(Lista * lista, int dado){
Celula * p;
p = (Celula *) malloc( sizeof(Celula));
p->dado = dado;
p->prox = lista->inicio;
lista->inicio = p;
}
void excluirInicio(Lista*lista){
Celula * p;
p = lista->inicio;
lista->inicio=p->prox;
free(p);
}
Celula* busca(Lista*lista,int dado){
Celula* p;
for(p = lista->inicio; p != NULL; p=p->prox){
if(p->dado == dado)
return p;
}
return NULL;
}
void inverter(Lista * lista){
Celula *p, *q, *r;
if( lista->inicio != NULL){
p = lista->inicio;
q = p->prox;
p->prox = NULL;
if (q != NULL){
r = q->prox;
}
while(q != NULL){
q->prox = p;
p = q;
q = r;
if( r != NULL){
r = r->prox;
}
}
lista->inicio=p;
}
}
void excluirProximo(Lista*lista, Celula *p){
Celula * q;
if(p->prox != NULL){
q = p->prox;
p->prox = p->prox->prox;
free(q);
}
}
void concatenar(Lista** lista1, Lista** lista2) {
Celula* aux1;
Celula* aux2;
if(lista1 == NULL) {
*lista1 = *lista2;
} else {
aux1 = *lista1;
aux2 = *lista2;
imprimirLista(&aux1);
aux1->prox = aux2;
imprimirLista(&aux1);
}
}
main() {
setlocale(LC_ALL, "");
Lista* lista1;
Lista* lista2;
iniciarLista(&lista1);
iniciarLista(&lista2);
inserirInicio(&lista1, 3);
inserirInicio(&lista1, 2);
inserirInicio(&lista1, 1);
inserirInicio(&lista2, 5);
inserirInicio(&lista2, 4);
imprimirLista(&lista1);
imprimirLista(&lista2);
printf("-----------------\n");
concatenar(&lista1, &lista2);
//imprimirLista(&lista1);
}
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Interface gráfica não funciona (1)
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (1)