带头结点的单链表
typedef struct LNode {
int data;
struct LNode *next;
}LNode,*LinkList;
bool InitList (LinkList &L)
{
L = (LNode*) malloc(sizeof(LNode));
if(L == NULL)
return false;
L->next = NULL;
return true;
}
void test ()
{
LinkList L;
InitList(L);
}
不带头结点的单链表
typedef struct LNode {
int data;
struct LNode *next;
}LNode,*LinkList;
bool InitList(LinkList &L)
{
L= NULL; //空表 还没有数据
return true;
}
void test ()
{
LinkList L;
InitList(L);
}
头插法建立单链表
//头插法建立单链表
LinkList List_HeadInsert (LinkList &L)
{
LNode *s;
int x;
//LNode 为单链表的结点类型
//LinkList == LNode*
//返回该类型的指针
L = (LinkList) malloc(sizeof(LNode));
L->next = NULL;//初始化为空链表 防止脏数据
scanf("%d",&x);
while(x != 9999)
{
s = (LNode*) malloc(sizeof(LNode)); //建立起一个新的结点
s->data = x;
s->next = L->next;
L->next = s;
scanf("%d",&x) ;
}
return L;
}