首页 > 其他分享 >kx-顺序表:查找元素是否在表中

kx-顺序表:查找元素是否在表中

时间:2023-02-15 17:11:51浏览次数:38  
标签:顺序 int pos 查找 表中 kx plist

一、定义顺序表结构

#define INIT_SIZE 10	///< 顺序表初始容量
typedef int seqType;	///< 定义顺序表元素类型
/// @brief 顺序表结构定义
typedef struct t_sqList
{
	seqType* pbase;	///< 表基址
	int capacity;	///< 表容量
	int size;	///< 表长度
}mySList;

二、查找元素x是否在表中

1、思路

2、代码

/// @brief 功能:查找元素值x是否在表中
/// @param[in] plist:表结构指针
/// @param[in] x:待查找关键字
/// @retval ERROR(0):顺序表不存在,查找失败
/// @retval TURE(1):x在表中
/// @retval FALSE(0):x不在表中
status sList_find(const mySList* plist, seqType x)
{
	if (plist == NULL || plist->pbase == NULL)
	{
		return ERROR;
	}

	/// 方法一:
	int pos = plist->size - 1;
	while (pos > -1 && plist->pbase[pos] != x)
	{
		--pos;
	}
	return (pos > -1 ? TRUE : FALSE);

#if 0
	///方法二:
	return (sList_locate(plist, x) > -1) ? TRUE : FALSE;
#endif
}

标签:顺序,int,pos,查找,表中,kx,plist
From: https://www.cnblogs.com/kxwslmsps/p/17123828.html

相关文章