作业帮 > 综合 > 作业

依次采用尾插法插入A,B,C,D,E元素.用C语言实现

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/31 14:56:41
依次采用尾插法插入A,B,C,D,E元素.用C语言实现
依次采用尾插法插入A,B,C,D,E元素.用C语言实现
#include
#include
#include
#define ok 1
#define error 0
#define TRUE 1
#define FALSE 0
#define print 1
typedef char ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode;
/* 建立一个空链表 */
LNode *CreateLinkList(void)
{
LNode *head;
head=(LNode *)malloc(sizeof(ElemType));
head->next =NULL;
head->data=0;
#if print
printf("建立一个空链表,其头结点的指针为:%d\r\n",head);
#endif
return head;
}
/* 在链表中插入数据e */
void InsertList(LNode *L,ElemType e,int mark)
{
LNode *q;
LNode *p=L;
q=(LNode *)malloc(sizeof(LNode));
q->data=e;
if(mark) //在表尾插入数据
{
while(p->next) p=p->next;
q->next=NULL;
p->next=q;
}
else //在表头插入数据
{
q->next=p->next;
p->next=q;
}
L->data++;
#if print
printf("插入数据成功\r\n");
#endif
}
/* 单链表遍历,同时将所有结点值打印输出 */
void PrintList(LNode *L)
{
int i=0;
LNode *p=L;
while(p=p->next)
{
i++;
printf("%d\t",p->data);
if(!i%10) printf("\r\n");
}
printf("\r\n");
}
void main()
{
LNode *L;
L=CreateLinkList();
InsertList(L,'A',1);
InsertList(L,'B',1);
InsertList(L,'C',1);
InsertList(L,'D',1);
InsertList(L,'E',1);
PrintList(L);
}