#include<stdio.h>
#include<stdlib.h>
#define N 5
#define NULL 0
#define OK 1
#define ERROR 0
typedef struct LNode
{
struct LNode *next;
int data;
}LNode,*list;
void creatList(list &l,int n)
{
list p,q;
int i;
l=(list)malloc(sizeof(LNode));
p=l;
for(i=0;i<n;i++)
{
q=(list)malloc(sizeof(LNode));
scanf("%d",&q->data);
p->next=q;
p=q;
}
p->next=NULL;
}
int inList(list l,int e)
{
list p;
p=l->next;
while(p)
{
if(p->data==e)
return OK;
p=p->next;
}
return ERROR;
}
void insertList(list &l,int &e)
{
list p,q,s;
s=l;
p=l->next;
while(p)
{
if(e<=p->data)
{
q=(list)malloc(sizeof(LNode));
q->data=e;
while(s->next!=p)s=s->next;
q->next=p;
s->next=q;
break;
}
p=p->next;
}
}
void printList(list l)
{
list p;
p=l->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
}
int main()
{
list l;
int e;
printf("please input a list contain %d elements\n",N);
creatList(l,N);
printf("please input the number you want to find:\n");
scanf("%d",&e);
if(inList(l,e))
printf("Yes\n");
else
{
insertList(l,e);
printList(l);
}
return 0;
}
链表查找
最新推荐文章于 2022-03-27 19:32:44 发布