include
include
typedef struct Node
{
char data;
struct Node *next;
}Node,*Linklist;
Linklist Createfromhead()//建立链表
{
Linklist L;Node*s;int flag=1;char c;
L=(Linklist)malloc(sizeof(Node));
L->next=NULL;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else
flag=0;
}
do{
printf("%c,\n",L->data);
L=L->next ;
}while(L!=NULL);
return L;
}
Node* search(int k)//按照序号i查找元素
{
Node*p;int j=0;Linklist L;
p=L;
j++;
p=p->next;//先来一步,使得(p->next)!=NULL
while((j<k)&&((p->next)!=NULL))
{
j++;
p=p->next;
}
if(j==k) {printf("%c\n",p->data);return p;}
else {printf("NO\n");return NULL;}
}
int main()
{
int i;
Createfromhead();
printf("input the order i:\n");
scanf("%d",&i);
search(i);
getch();
}
scanf("%d",&i);
search(i);
getch();
}
scanf("%d",&i);
search(i);
getch();
}