#include <iostream>
#include <cstdlib>
using namespace std;
#define initsize 50
typedef struct Lnode{
int data;
struct Lnode *next;
}Lnode,*linklist;
linklist list_headinsert(linklist &l){
Lnode *s; //临时节点
int x;
l=(linklist)malloc(sizeof(Lnode));//初始化一个节点
l->next=NULL;
cin>>x;
while(x!=9999){
s=(Lnode *)malloc(sizeof(Lnode));
s->data=x;
s->next=l->next;
l->next=s;
cin>>x;
}
return l;
}
linklist list_tailinsert(linklist &l){
Lnode *r,*s;
int x;
l=(linklist)malloc(sizeof(Lnode));
l->next=NULL;
r=l;
cin>>x;
while(x!=9999){
s=(Lnode *)malloc(sizeof(Lnode));
s->data=x;
s->next;
r->next=s;
r=s;
cin>>x;
}
r->next=NULL;
return l;
}
Lnode *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;
}
Lnode *locateelem(linklist l,int e){
Lnode *p=l->next;
int j=1;
while(p!=NULL&&p->data!=e){
p=p->next;
j++;
}
return p;
}
bool insertnext(linklist &l,int i,int e){
Lnode *p,*s;
p=getelem(l,i-1);
s=(Lnode *)malloc(sizeof(Lnode));
s->data=e;
s->next=p->next;
p->next=s;
return true;
}
bool deletenext(linklist &l,int i,int &e){
Lnode *p;
p=getelem(l,i-1);
e=p->next->data;
p->next=p->next->next;
free(p->next);
return true;
}
int main(int argc, char** argv) {
}
07-03
76
06-29
87
06-30
72
06-29
413
09-12