首页 > 其他分享 >数据结构(C语言版)——单链表的查找

数据结构(C语言版)——单链表的查找

时间:2024-03-20 11:29:29浏览次数:22  
标签:结点 单链 return LNode int NULL next C语言 数据结构

1.按位查找

//按位查找,返回第i个元素(带头结点)
LNode* GetElem(LinkList L, int i) {
	if (i < 0)
		return false;
	LNode* p;//指针p指向当前扫描到的结点
	int j = 0;//当前p指向的是第几个结点
	p = L;//L指向头结点,头结点是第0个结点(不存数据)
	while (p != NULL && j < i) {//循环找到第i个结点
		p = p->next;
		j++;
	}
	return p;
}

2.按值查找

//按值查找,找到数据域==e的结点
LNode* LocateElem(LinkList L, ElemType e) {
	LNode* p = L->next;
	//从第1个结点开始查找数据域为e的结点
	while (p != NULL && p->data != e)
		p = p->next;
	return p;//找到后返回该结点指针,否则返回NULL
}

3.求表的长度

//求表的长度
int length(LinkList L) {
	int len = 0;//统计表长
	LNode* p = L;
	while (p->next != NULL) {
		p = p->next;
		len++;
	}
	return len;
}

标签:结点,单链,return,LNode,int,NULL,next,C语言,数据结构
From: https://blog.csdn.net/A5437942/article/details/136870955

相关文章

  • C语言的UDP广播实现
    C语言的UDP广播实现以下是一个使用epoll和getopt的UDP广播客户端示例。这个客户端会向指定的广播地址发送一条消息,并等待服务器返回的数据包。#include<arpa/inet.h>#include<netinet/in.h>#include<sys/epoll.h>#include<sys/socket.h>#include<unistd.h>#include<st......
  • c语言应用,模拟用户登陆
     模拟用户登陆所呈现的效果是,在我们设置一个原有的密码(我这边设置的是123456),程序开始执行之后,需要输入密码,同时设置好三次密码输入错误的机会,若是在三次内密码均输入错误,那程序就会强行退出。main函数一开始,我们先定义一个变量a和数组变量p,然后进入for循环(这个for循环就是判......
  • 什么是for语句,for语句在c语言中的应用
    for语句,又称for循环。是编程语言中一种循环语句,在c语言中也是经常使用的语句,和while语句相同,for语句也是循环语句,循环语句由循环体及循环的判定条件两部分组成,一般的格式为for(变量;条件;变量++),for循环比较于while循环,for循环是在一开始就将所有的变量和进入条件都设置好了,而while......
  • C语言程序设计(第二版)学习笔记——第三章
    第三章基本数据类型及数据的输入输出3.1C语言的基本数据类型简介要在C环境下实现运算必须首先定义变量,并确定变量的数据类型,然后才能对数据进行操作。C语言的数据类型分为四大类:基本类型、构造类型、指针类型和空类型(无值类型)。3.2标识符、常量和变量3.2.1标识符1、......
  • C++数据结构考研chapter5树(更新ing)
    一、概念1.结点2.边3.根4.叶子结点5.分支结点6.子树二、术语1.结点之间的关系描述(1)祖先(2)子孙(3)双亲(父)(4)孩子(5)兄弟(6)堂兄弟(7)路径自上而下(8)路径长度经过了几条边2.结点、树的属性描述(1)结点的层次(深度)从上到下数,默认从1开始,看题目要求(2)结点的高度从下到上......
  • 图书馆管理系统-C语言版
    实现环境:VS2022设计思想:1.本系统实现了图书馆管理的图书管理模块、读者管理模块、以及借书还书模块2.图书管理模块实现了对图书的增删改查以及显示信息、读者管理模块实现了对读者信息的增删改查和显示信息、借书还书模块实现了读者的借书和还书功能设计过程:本系统所用到......
  • C语言浮点数存储原理
    1.浮点型的原理介绍及在内存中的存储形式C语言提供了浮点数据类型,单精度浮点数float和双精度浮点数double。浮点数属于不精确的数据类型,本文将通过float类型的原理和在内存中的存储形式来介绍浮点型不精确的原因。以float类型为例,来展示C语言中浮点型的神秘之处。2.float类型......
  • 实现数据结构与算法学习笔记(java)——顺序表顺序栈代码实现
    顺序表实现顺序栈实现......
  • C语言 自定义类型:结构体
    目录前言一、结构体类型1.1结构体的声明1.2 结构体变量的创建和初始化1.3结构体的特殊声明1.4结构体的自引用二、结构体的对齐2.1对齐规则2.2内存对齐的原因2.3修改默认对齐数2.4 结构体传参三、结构体实现位段3.1 位段的内存分配3.2 段的跨平台问......
  • C语言 数据在内存中的存储
    目录前言一、整数在内存中的存储二、大小端字节序和字节序判断2.1.练习一2.2练习二2.3练习三2.4练习四2.5练习五2.6练习六三、浮点数在内存中的存储3.1 浮点数存的过程3.2浮点数取的过程总结前言数据在内存中根据数据类型有不同的存储方式,今天我们......