主题:数据结构----线性表的链式实现
对于许多初学者来说,学习数据结构最大的难处莫过于不能用语言来描述.本文起一个头,只要不要太局限于书本,首先要能很好理解C语言,尽力实现.
#include<stdio.h>
#include<stdlib.h>
#define OVERFLOW -2
typedef int ElemType;
typedef struct Lnode{
ElemType data;
struct Lnode *next;
}LNode,*LinkList;
LinkList InitList_L()
{
LinkList T;
T=(LNode *)malloc(sizeof(LNode));
if(!T) exit(OVERFLOW);
T->data=0;
T->next=NULL;
return T;
}
void creatlist(LinkList L,int n)
{
int i;
LinkList p,p1;
p1=L;
for(i=1;i<=n;i++)
{
p=(LNode *)malloc(sizeof(LNode));
p1->next=p;
p1=p;
printf("please input the %d number",i);
scanf("%d",&p->data);
}
}
void main()
{
LinkList A,p;
int i,count=2;
A=InitList_L();
printf("%d\n",A->data);
p=A;
creatlist(A,count);
for(i=0;i<=2;i++)
{
printf("%d\n",p->data);
p=p->next;
}
}
#include<stdio.h>
#include<stdlib.h>
#define OVERFLOW -2
typedef int ElemType;
typedef struct Lnode{
ElemType data;
struct Lnode *next;
}LNode,*LinkList;
LinkList InitList_L()
{
LinkList T;
T=(LNode *)malloc(sizeof(LNode));
if(!T) exit(OVERFLOW);
T->data=0;
T->next=NULL;
return T;
}
void creatlist(LinkList L,int n)
{
int i;
LinkList p,p1;
p1=L;
for(i=1;i<=n;i++)
{
p=(LNode *)malloc(sizeof(LNode));
p1->next=p;
p1=p;
printf("please input the %d number",i);
scanf("%d",&p->data);
}
}
void main()
{
LinkList A,p;
int i,count=2;
A=InitList_L();
printf("%d\n",A->data);
p=A;
creatlist(A,count);
for(i=0;i<=2;i++)
{
printf("%d\n",p->data);
p=p->next;
}
}