代码
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "stdlib.h"
//结点结构体
typedef struct n
{
//数据域
union
{
char d[20];
int len;
};
struct n *next;//指针域
}list;
//创建头结点
list *cj()
{
list *h=malloc(sizeof(list));//申请内存0;
if(h!=NULL)
{
h->len=0;
h->next=NULL;
}
return h;
}
//输出函数
void shuchu(list *h)
{
list *p=h;
if(h->next==NULL)
{
printf("链表为空!\n");
}
else
{
printf("链表长度:%d\n链表数据如下:\n",h->len);
while((p=p->next)!=NULL)
{
printf("%s\t",p->d);
}
printf("\n");
}
}
//插入函数
void charu(list *p,list *s)
{
s->next=p->next;
p->next=s;
}
//删除函数
void shanchu(list *p)//删除p的后一个结点
{
list *q=p->next;//将待删除的结点保存
p->next=p->next->next;
free(q);
}
//输入函数
void shuru(list *h,int n)
{
int i;
list *p;
list *s=h;
for(i=1;i<=n;i++)
{
p=malloc(sizeof(list));
i