⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 单链表的查找.c

📁 单链表的查找算法
💻 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 + -