Programación en lenguaje c de estructura de datos
#include "stdlib.h"
#include "iostream.h"
#define ERROR 0
#define OK 1
typedef int elemtype;
typedef struct lnode{
elemtype datos;
struct lnode* siguiente;
}lnode,*linklist;
void init_linklist(linklist &p)// Los parámetros de la lista vinculada utilizan parámetros de referencia, porque la lista vinculada inicializada es de una lista no vinculada a una lista vinculada, y esta lista vinculada vacía debe conservarse para su uso posterior, por lo que se requieren parámetros de referencia. Por supuesto, también es posible utilizar parámetros de puntero.
{
p=(lista de enlaces)malloc(sizeof(lnode));
p->next=NULL;
}
void crt_linklist(linklist &p,int len)//Los parámetros de la lista enlazada utilizan parámetros de referencia, igual que la inicialización
{
init_linklist(p);
p>lnodo* t;
t=p;
lnodo* s;
for(int i=1;i <=len; i++)
{
s=(lista de enlaces)malloc(sizeof(lnode));
s->data=i*10;
s->siguiente=NULL;
t->siguiente=s;
t=s;
}
}
void output_linklist(linklist p)//Los parámetros de la lista vinculada utilizan parámetros de asignación, porque la salida no cambia la estructura de la lista vinculada
{
lnode* q=p-> next;
int i=1;//El valor inicial se establece en 1 porque sale del primer elemento
while( q)
{
cout< q=q->siguiente ; i++ ; } } int main() { linklist p; int i=30;// Es mejor usar int, aquí se define la longitud, no un elemento de datos; o typedef int Longitud i=30; jaja crt_linklist( p,i); output_linklist(p); devuelve 0; }