#include<iostream>
using namespace std;
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList TailInsert(LinkList &L)
{
L=(LNode*)malloc(sizeof(LNode));
L->next=NULL;
LNode *s,*r=L;
int x;
cin>>x;
while(x!=-1)
{
s=(LNode*)malloc(sizeof(LNode));
s->data=x;
r->next=s;
r=s;
cin>>x;
}
r->next=NULL;
return L;
}
void ListVisit(LinkList L)
{
LNode *p=L->next;
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
//查找第i个元素
LNode *Search_i(LinkList L,int i)
{
if(i<1)
return NULL;
LNode *p=L->next;
int k=1;
while(p!=NULL&&k!=i)
{
p=p->next;
k++;
}
if(p!=NULL)
return p;
else
return NULL;
}
int main()
{
LinkList L;
TailInsert(L);//尾插法
ListVisit(L);//输出
int i;
cin>>i;
LNode *p=Search_i(L,i);//查找第i个元素
cout<<p->data<<endl;
return 0;
}
单链表查找第i个元素
于 2024-04-07 16:25:18 首次发布