#include<stdio.h>
#include<stdlib.h>
struct test
{
int data;
struct test *next;
};
void printLink(struct test* head)
{
struct test *point=head;
while(point!=NULL)
{
printf("%d ",point->data);
point=point->next;
}
putchar('\n');
}
int inserfrombehind(struct test *head,int data,struct test *ne)
{
struct test *p=head;
while(p!=NULL)
{
if(p->data==data)
{
ne->next=p->next;
p->next=ne;
return 1;
}
p=p->next;
}
return 0;
}
int searchLink(struct test* head,int data)
{
struct test* point=head;
while(point!=NULL)
{
if(point->data==data)
{
return 1;
}
point= point->next;
}
return 0;
}
int getJieDian(struct test *head)//寻找节点数
{
int cnt=0;
while(head!=NULL)
{
cnt++;
head=head->next;
}
return cnt;
}
int main()
{
struct test t1={
1,NULL};
struct test t2={
2,NULL};
struct test t3={
3,NULL};
struct test t4={
4,NULL};
struct test t5={
5,NULL};
t1.next=&t2;
t2.next=&t3;
t3.next=&t4;
t4.next=&t5;
int c,d;
printf("Please tell me which num behind you want to insert:\n");
scanf("%d",&c);
if(c>5||c<1)
{
printf("WRONG!\n");
exit(-1);
}
printf("Please tell me which num you want to insert:\n");
scanf("%d",&d);
struct test t6={
d,NULL};
int b= inserfrombehind(&t1,c,&t6);
printLink(&t1);
int ret=getJieDian(&t1);
printf("total=%d\n",ret);
int a=searchLink(&t1,6);
if(a==1)
{
printf("WORD HERE!");
}
else
{
printf("WORD NO HERE!");
}
putchar('\n');
if(b==1)
{
printf("ok");
}
else
{
printf("no");
}
return 0;
}