文章目录
核心代码
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语言中,结构体的比较不能直接使用==。
需要依次对比各个分量来判断两个结构体是否相等。即运用.运算符来依次与结构体中的各个变量进行判断比较。