顺序表的按值查找

文章目录

核心代码

cpp 复制代码
#include<stdio.h>
#define InitSize 10
// 动态分配顺序表标准结构体:data指针、当前最大容量、有效长度
typedef struct {
    int *data;
    int MaxSize;
    int length;
} SqList;

// 在顺序表 L 中查找第一个元素值等于 e 的元素,并返回其位序
int LocataElem(SqList L,int e){
	for(int i=0;i<L.length;i++)
		if(L.data[i]==e)
			return i+1; // 数组下标 i → 顺序表位序 i+1
	return 0; // 退出循环,说明查找失败
} 
// 假设 调用 LocateElem(L,9); 
  • 一旦找到第一个等于e的元素,立即 return,不会继续往后找。
  • 查找只读不写,所以值传递更安全(防止误修改),这里没有使用引用类型。

时间复杂度O(n)

结构类型的比较

C语言中,结构体的比较不能直接使用==。

需要依次对比各个分量来判断两个结构体是否相等。即运用.运算符来依次与结构体中的各个变量进行判断比较。

相关推荐
Godspeed Zhao11 小时前
现代智能雷达技术19——算法(5)
算法
(Charon)11 小时前
【C++面试】RAII到底是什么:从资源管理理解C++对象生命周期
c++·算法·面试
无名猿11 小时前
成员初始化列表与初始化顺序陷阱:按声明顺序,不是书写顺序
c++·现代c++·语法基础
Omics Pro11 小时前
之江实验室NAR|虚拟细胞3阶段训练范式
数据库·人工智能·算法·机器学习·自然语言处理
Tisfy11 小时前
LeetCode 0678.有效的括号字符串:O(n)+O(1)一次遍历
算法·leetcode·字符串·题解·贪心·括号匹配
91刘仁德12 小时前
传输层协议深度拆解:端口寻址、UDP 报文与 TCP 可靠性机制全解析
linux·网络·c++·网络协议·tcp/ip·udp·c
小O的算法实验室12 小时前
IEEE TEVC,学习辅助的搜索路径重构进化算法
学习·算法·重构
Liuchang091112 小时前
洛谷 P2670 [NOIP 2015 普及组] 扫雷游戏
c++·算法·游戏
言乐612 小时前
Python体现逻辑回归和决策树的区别
开发语言·python·算法·决策树·逻辑回归
顶点多余12 小时前
C/C++常见面试题
开发语言·c++