#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
char data;
struct Node*next;
}Node;
Node* InitList()//初始化单链表
{
Node*L=(Node*)malloc(sizeof(Node));
L->data=0;
L->next=NULL;
return L;
}
void HeadInsert(Node*L,char data)//头插法
{
Node *p;
p=(Node*)malloc(sizeof(Node));
p->data=data;
p->next=L->next;
L->next=p;
L->data++;
}
void TailInsert(Node*L,char data)//尾插法
{
int i;
Node*r,*e;
e=(Node*)malloc(sizeof(Node));
r=L;
for(i=0;i<L->data;i++)
{
r=r->next;
}
e->data=data;
e->next=NULL;
r->next=e;
L->data++;
}
void PrintList(Node*L)//遍历函数
{
Node* p=L->next;
while(p)
{
printf("%c",p->data);
p=p->next;
}
}
int main(int argc, char *argv[])
{
Node*L=InitList();
int i,j;
char lastname[2]={'u','w'};
char firstname[5]={'w','e','n','y','u'};
for(i=0;i<2;i++)
{
HeadInsert(L,lastname[i]);
}
for(j=0;j<8;j++)
TailInsert(L,firstname[j]);
PrintList(L);
return 0;
}
头插法尾插法
最新推荐文章于 2024-09-02 21:40:19 发布