今日任务:单链表的学习
链表的定义:
struct linklist
{
int date;
struct *linklist;
};
链表的初始化(带头结点):
int linklistinit(LINK *list)
{
list=(LINK *list)malloc(sizeof(LINK));
list->next =NULL;
}
插入:
int insert(LINK *list,int n,int e)
{
int k=1;
LINK *p=list;
while(k<n&&p->next!=NULL)
{
p=p->next;
}
LINK *q=(LINK *)malloc(sizeof(LINK));
q->next=p->next;
p->next=q;
q->date=e;
}
长度
int length(LINK *list)
{
int i=0;
LINK *p=list->next;
while(p)
{
p=p->next;
i++;
}
return i;
}
求位置上的内容
int get(LINK *list ,int n)
{
int k=0;
while(k<n&&list!=NULL)
{
list=list->next;
}
if(k>n||list==NULL)
return failure;
return list->date;
}
删除
int delet(LINK *list ,int n, int e)
{
int k=0;
LINK *p;
while(k<n&&k!=NULL)
{
list=list->next;
}
p=list->next;
list->next=p->next
free(p);
}