typedef char ElemType;
typedef struct LNode //定义单链表节点类型
{
ElemType data; //存放元素值
struct LNode *next; //指向后继节点
}LinkList;
从一个空表开始,重复读入数据,生成新节点,将读入数据存放到新节点的数据域中,然后将新节点插入到当前链表中,直到读入结束标志为止,在这里,我们以字符'z'作为结束标志。
//头插法插入元素
void createlist(LinkList *&L)
{
ElemType k;
LinkList *p;
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
while(1)
{
scanf("%c",&k);
if(k=='z')
break;
p=(LinkList *)malloc(sizeof(LinkList));
p->data=k;
p->next=L->next;
L->next=p;
}
}
//尾插法插入元素
void createlist(LinkList *&L)
{
ElemType k;
LinkList *r,*s;
L=(LinkList *)malloc(sizeof(LinkList));
r=L;
while(1)
{
scanf("%c",&k);
if(k=='z')
break;
s=(LinkList *)malloc(sizeof(LinkList));
s->data=k;
r->next=s;
r=s;
}
r->next=NULL;
}