首页 > 其他分享 >kx00013-顺序表--定位顺序表元素的下标

kx00013-顺序表--定位顺序表元素的下标

时间:2023-02-10 03:11:05浏览次数:33  
标签:顺序 下标 -- kx00013 pos int plist size

一、顺序表结构定义

#define INIT_SIZE 10			// 顺序表初始容量
typedef void(myOpFunType)(void*);	// 定义操作函数类型
typedef int seqType;			// 定义顺序表元素类型

// 定义顺序表结构体
typedef struct t_sqList
{
	seqType* pbase;		// 表基址
	int capacity;		// 表容量
	int size;		// 表长度
}mySList;

 

 

二、顺序表:定位表元素,返回元素下标

/**
************************************************************************
* @brief 功能:定位元素x在顺序表中第一个下标,即下标值最小 \n
* @param[in] plist:表结构指针
* @param[in] x:待查找关键字
* @retval ERROR(0):顺序表不存在,定位失败
* @retval 非负整数值:x元素所在表中的下标,取值为[0,size-1]
************************************************************************
*/
status sList_locate(const mySList* plist, seqType x)
{
	if (plist == NULL || plist->pbase == NULL)
	{
		return ERROR;
	}
	int pos = -1;
	for (int i = 0; i < plist->size; ++i)
	{
		if (x == plist->pbase[i])
		{
			pos = i;
			break;
		}
	}
	return pos;
#if 0	// while循环实现
	pos = plist->size - 1;
	while (pos > -1 && plist->pbase[pos] != x)
	{
		--pos;
	}
	return pos;
#endif // 0
}// 返回值为x所在下标,可能范围为[-1,size-1],-1表示找不到

 

标签:顺序,下标,--,kx00013,pos,int,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/17107644.html

相关文章

  • 安装pytorch踩过的坑
    failedwithinitialfrozensolve 可能是由于没有这个版本的matplotlib(包名),可以用'condasearch包名'搜索一下,进一步确认问题下载包的速度慢condacreate-n环境......
  • kx00009-顺序表--顺序表头插法
    一、顺序表结构定义#defineINIT_SIZE10 //顺序表初始容量typedefvoid(myOpFunType)(void*); //定义操作函数类型typedefintseqType; //定义顺序表元素类型......
  • kx00010-顺序表--按位置删除表元素remove
    一、顺序表结构定义#defineINIT_SIZE10 //顺序表初始容量typedefvoid(myOpFunType)(void*); //定义操作函数类型typedefintseqType; //定义顺序表元素类型......
  • kx00008-顺序表--顺序表尾插法
    一、顺序表结构定义#defineINIT_SIZE10 //顺序表初始容量typedefvoid(myOpFunType)(void*); //定义操作函数类型typedefintseqType; //定义顺序表元素类型......
  • Unity Shader 真实感水体渲染
    这两周用UnityShader做了点简单的水体渲染,有真实感的也有非真实感的,打算这几天总结整理一下贴出来。毛星云大牛有一篇详细的真实感水体渲染介绍:https://zhuanlan.zhihu.c......
  • Codeforces Round #851 (Div. 2) 题解
    CodeforcesRound#851(Div.2)题解A.OneandTwo取\(\log_2\),变成加号,前缀和枚举\(s[i]=\dfrac{s[n]}{2}\)。B.SumofTwoNumbers对于每一位,如果是偶数则平均......
  • [Typescript] Using type predicates
     import{expect,it}from"vitest";import{Equal,Expect}from"../helpers/type-utils";exportconstvalues=["a","b",undefined,"c",undefined];c......
  • 决战圣地玛丽乔亚Day08
    RocketMQ分布式事务   相对于本地事务,分布式事务是为了满足跨数据源或跨服务的事务场景。上图展示了RocketMQ在分布式事务中的应用,满足CAP定理中的AP,保证最终一致......
  • 二叉树
    #include<stdio.h>#include<stdlib.h>typedefstructTree{intdata; // 存放数据域structTree*lchild; // 遍历左子树指针structTree*rchild; // 遍历右......
  • cracking the System Design tech interview All In One
    crackingtheSystemDesigntechinterviewAllInOne破解系统设计技术面试SystemDesignhttps://github.com/donnemartin/system-design-primerhttps://github.c......