//在某个位置插入一个结点
#include<iostream>
using namespace std;
struct NODE
{
int data;
NODE *next;
};
NODE *Insert(NODE *L,int n1,int pos)
{
NODE *n;
n->data=n1;
if(L==NULL)
{
L=n;
}
int k=0;
NODE *preNode=L;
while(preNode!=NULL&&k<pos-1)
{
if(++k==pos-1)
break;
preNode=preNode->next;
}
if(k!=pos-1)
{
cout<<"不合法"<<endl;
return L;
}
if(pos==1)
{
n->next=L;
L=n;
}
else
{
n->next=preNode->next;
preNode->next=n;
}
return L;
}
int main()
{
NODE s1,s2,s3,s4;
s1.data=1;
s1.next=&s2;
s2.data=3;
s2.next=&s3;
s3.data=5;
s3.next=&s4;
s4.data=7;
s4.next=NULL;
int n=30;
int pos=2;
NODE *s=Insert(&s1,n,pos);
while(s!=NULL)
{
cout<<s->data<<endl;
s=s->next;
}
}