顺序表的按值查找

文章目录

核心代码

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语言中,结构体的比较不能直接使用==。

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

相关推荐
Ivanqhz9 分钟前
MoE 原理、TC/EC 路由、LSH-MoE 与负载均衡浅析
运维·网络·人工智能·深度学习·算法·机器学习·负载均衡
Sarvartha12 分钟前
栈的四则运算、栈的递归应用
数据结构·算法
stolentime18 分钟前
CF2277E Tree Guessing题解
c++·算法·贪心算法·交互·ad-hoc
逐光者93334 分钟前
杨氏模量:从定义到工程应用
算法
syagain_zsx1 小时前
ODB 与 MySQL:C++ 里的 ORM 实践(类即表、事务铁律与查询封装)
开发语言·数据库·c++·mysql·工具库·1024程序员节
小鱼仙官1 小时前
使用Qt封装C/C++ 动态库 用于第三方调用
c语言·c++·qt
荆棘鸟智能2 小时前
扬尘在线监测数据接入与异常清洗:从断点补传到质量审计
人工智能·算法·系统架构
晚风予卿云月2 小时前
【C++高并发内存池】 1.定长内存池的实现
开发语言·c++·内存管理
动词ing2 小时前
【题目练习】旋转图像
算法
天疆说2 小时前
【无标题】
算法