Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Páginas1
#1
Cursos, manuales y libros / Re:[redusers][PDF][Mega]Tecnico en Redes y Seguridad
Mayo 02, 2017, 08:03:57 AM #2
Cursos, manuales y libros / Re:[redusers][PDF][Mega]Tecnico en Redes y Seguridad
Mayo 01, 2017, 07:36:40 PM
Parece interesante, podrías subirlo otra vez y pasar el enlace? Éste cayó por violar los términos de Mega. Un saludo y gracias
#3
C / C++ / Re:Estructura de Datos [Cola Circular][C]
Abril 06, 2017, 10:28:13 AM
Aquí te dejo una alternativa implementada con dos archivos, uno .h y otro .c
cola.h
Código: c
cola.c
Código: c
cola.h
#include <stdio.h>
#define MAX 100
typedef int Elemento; //Cambiar int por cualquier otro tipo.
typedef struct{
Elemento info[MAX];
int q;
int cabeza;
} Cola;
typedef struct n{
Element e;
struct n *sig;
} Nodo;
Cola COLA_crea();
void COLA_anadir(Cola *c, Elemento e);
Elemento COLA_primero(Cola c);
void COLA_sacar(Cola *c);
int COLA_vacia(Cola c);
void COLA_destruye(Cola *c);
cola.c
#include <stdio.h>
#include "cola.h"
//CREA LA COLA
Cola COLA_crea(){
Cola c;
c.cabeza = NULL;
c.ult = NULL;
return c;
}
//AÑADIR ELEMENTO A LA COLA
void COLA_anadir(Cola *c, Element e){
Nodo *aux;
aux=(Nodo*)malloc(sizeof(Nodo));
if(aux == NULL){
printf("Error en la peticio de memoria");
}
else{
(*aux).e = e;
(*aux).sig = NULL;
if(((*c).cabeza || (*c).ult) == NULL){
(*c).cabeza = aux;
}
else{
(*(*c).ult).sig = aux;
}
(*c).ult = aux;
}
}
//SACAR ELEMENTO A LA COLA
void COLA_sacar(Cola *c){
Nodo *aux;
if((*c).cabeza == NULL){
printf("Cola buida!\n");
}
else{
aux = (*c).cabeza;
(*c).cabeza = (*aux).sig; //El contingut del punter que apunta al primer node de la cola passa a apuntar el sigüent node
free(aux);
if ((*c).cabeza == NULL){
(*c).ult = NULL;
}
}
}
//COMPROBAR SI LA COLA ESTÁ VACÍA
int COLA_vacia(Cola c){
return ((*c).cabeza) == NULL);
}
//DESTRUIR COLA
int COLA_destruye(Cola *c){
Nodo *aux;
while(*c) != NULL){
aux = *c;
*c = (*aux).sig;
}
free(aux);
free(*p);
}
Páginas1