尾插法建立单链表(正向建立单链表) 带头结点
LinkList List_TailInsert(LinkList &L)
{
int x;//设元素类型为整型
L=(LNode*)malloc(sizeof(LNode));//创建头节点
L->next=NULL;//初始为空链表
LNode *r=L;//r为表尾指针
scanf("%d",&x);//输入结点的值
while(x!=9999)//输入9999表示结束
{
LNode* s=(LNode*)malloc(sizeof(LNode));
s->data=x;
r->next=s;//在r结点元素之后插入新结点s
r=s;//r指向新的表尾结点
scanf("%d",&x);
}
r->next=NULL;//尾结点指针置空
return L;
尾插法建立单链表(正向建立单链表) 不带头结点
LinkList List_TailInsert(LinkList &L)
{
int x;
LNode *r=L;
scanf("%d",&x);
while(x!=9999)
{
LNode* s = (LNode*)malloc(sizeof(LNode));
s-data=x;
s->next=NULL;//s结点的next指针置空
if(L==NULL)
{
L=s;//L指向新结点 s结点既是首结点也是尾结点
r=L;//r指向新的表尾结点
}
if(L!=NULL)
{
r->next=s;//在r结点元素之后插入新结点s
r=s;//r指向新的表尾结点
}
scanf("%d",&x);
}
r->next=NULL;
return L;
}
头插法建立单链表 带头结点
LinkList List_HeadInsert(LinkList &L)
{
int x;
LNode* s;
L = (LNode*)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;
}
头插法建立单链表 不带头结点
LinkList List_HeadInsert(LinkList &L)
{
int x;
LNode* s;
scanf("%d",&x);
while(x!=9999)
{
s = (LNode*)malloc(sizeof(LNode));
s->data=x;
s->next=NULL;
if(L==NULL)
{
L=s;
}
if(L!=NULL)
{
s->next=L;
L=s;
}
scanf("%d",&x);
}
return L;
}
03-08
1078
08-26
736
06-10
1217
04-13
253