第一章链表
1.定义:
typedef struct Lnode{
Elemtype data;
struct *next;
}Lnode,*Linlist;
2.头插法
Linklist List_headInsert(Linklist &L)
{
Lnode *s;int x;
L=(Linklist)malloc(sizeof(Lnode));
L->next=NULL;
scnaf("%d",&x);
whle(x!=999)
{
s=(Linklist)malloc(sizeof(Lnode));
s->data=x;
s->next=L->next;
L->next=s->next;
scanf("%d",&x);
}
return L;
}
3.尾插法
Linklist List_tailInsert(Linklist &L)
{
int x;
L=(Linklist)malloc(sizeof(LNode));
Lnode *s,*r=L;
scanf("%d",&x);
while(x!=999)
{
s=(Linklist)malloc(sizeof(Lnode));
s->data=x;
r->next=s;
r=s;
scanf("%d",&x);
}
r->next=NULL;
return L;
}
4.按序号查找
Linklist getElem(Linklist L,int i)
{
int j=1;
Lnode *p=L->next;
if(i==0)return L;
if(i<1)return NULL;
while(p&&j<i)
{
p=p->next;
j++;
}
return p;
}
5按照数值查找
Linklist getnumm(Linklist L,int x)
{
Lnode *p=L->next;
while(p&&p->data!=x)p=p->next;
return p;
}
6双链表定义及插入
```
typedef struct Dnode{
Elemtype data;
struct Dnode prior,next;
}Dnode, *DLinklist;