📄 单链表的查找.c
字号:
/* 单链表的查找:带头结点的单链表中,判断有无结点的值等于x,有则返回当前指针,没有返回空*/
#include "Stdio.h"
#include "Conio.h"
#define flag 0
typedef int datatype;
//结点定义
typedef struct node
{
datatype data;
struct node *next;
}LNode,*LinkList;
//申明
LinkList Creat_LinkList3();
LNode *Locate_LinkList(LinkList L,int i);
//主函数
main()
{
LinkList H;//定义头指针变量
LNode *p;
datatype x;
H=Creat_LinkList3();
printf("输入 x:");
scanf("%d",&x);
p=Locate_LinkList(H,x);
if(p!=NULL)
printf("存在%d",x);
else
printf("不存在%d",x);
getch();
}
//创建单链表
LinkList Creat_LinkList3()
{
LinkList L=NULL;//空表L为表头
LNode *s,*R=NULL;
int x;//设数据元素的类型为int
s=(LNode *)malloc(sizeof(LNode));
R=s;
L=s;
scanf("%d",&x);
while(x!=flag)//设flag为数据元素的结束标志
{
s=(LNode *)malloc(sizeof(LNode));
s->data=x;
R->next=s;
R=s;
scanf("%d",&x);
}
R->next=NULL;
return L;
}
//按值查找
LNode *Locate_LinkList(LinkList L,datatype x)//在单链表L中查找值为X的结点,找到后返回其指针,否则返回空
{
LNode *p=L->next;
while(p!=NULL&&p->data!=x)
p=p->next;
return p;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -