📄 list.cpp
字号:
#include <stdio.h>
#include <malloc.h>
#include "list.h"
list newList()
{
list l=(list)malloc(sizeof(*l));
l->element=NULL;
l->next=NULL;
return l;
}
int lengthList(list l)
{
int count=0;
list p;
p=l->next;
while(p)
{
count++;
p=p->next;
}
return count;
}
void insertList(list l,poly elem,int n)
{
if(n<1||n>lengthList(l)+1)
{
printf("\nerror:the location is not right!\n");
}
else
{
int i;
list p,q;
p=l;
for(i=0;i<n;i++)
{
q=p;
p=p->next;
}
list e=newList();
q->next=e;
e->element=elem;
e->next=p;
}
}
void insertListHead(list l,poly elem)
{
insertList(l,elem,1);
}
void insertListTail(list l,poly elem)
{
insertList(l,elem,lengthList(l)+1);
}
int listIsEmpty(list l)
{
if(l->next)
return 0; //非空则返回0
else
return 1; //空则返回1
}
poly deleteList(list l,int n)
{
if(listIsEmpty(l))
{
printf("\n\nerror:\n Empty list can not be delete!!!!!!!!!!!!\n");
}
else
if(n<1||n>lengthList(l)+1)
{
printf("\nerror:the location is not right!\n");
}
else
{
int i;
list p,q;
q=l;
p=l->next;
for(i=1;i<n;i++)
{
q=p;
p=p->next;
}
q->next=p->next;
return p->element;
}
return NULL;
}
poly deleteListHead(list l)
{
return deleteList(l,1);
}
poly deleteListTail(list l)
{
return deleteList(l,lengthList(l));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -