• 欢迎光临~

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

开发技术 开发技术 2022-11-30 次浏览
  1. 顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.html
    typedef status int;     //< 定义函数结果状态 
    typedef int etype;      //< 元素数据类型
    #define CAPACITY 10     //< 定义初始容量 
    
    typedef struct tag_seqList
    {
        etype* pbase;    //< 表基址 
        int capacity;    //< 表容量 
        int size;        //< 表长度 
    }mySList;

     

  2. 查找元素key,判断该元素是否存在于顺序表中
    /**
    * @brief 功能:查找元素值key是否在表中 n
    * @param[in] plist:表结构指针
    * @param[in] key:待查找关键字
    * @return 返回是否查找成功的结果状态标志
    * @retval - ERROR(-1):顺序表不存在,查找失败
    * @retval - TURE(1):key在表中
    * @retval - FALSE(0):key不在表中
    */
    status sList_find(const mySList* plist, etype key)
    {
        if (plist == NULL || plist->pbase == NULL)
        {
            return ERROR;
        }
    
    #if 0    // 方法一:
        int pos = plist->size - 1;
        while (pos > -1 && plist->pbase[pos] != key)
        {
            --pos;
        }
        return (pos > -1 ? TRUE : FALSE);
    #endif 
    
        // 方法二:
        return (sList_locate(plist, key) > -1) ? TRUE : FALSE;
    }// 返回值为-1,0,1,即ERROR,TRUE,FALSE

     

程序员灯塔
转载请注明原文链接:kx-000014-顺序表-查找元素是否存在表中
喜欢 (0)
违法和不良信息举报电话:022-22558618 举报邮箱:dljd@tidljd.com