首页 > 其他分享 >kx-000013-顺序表-定位元素下标,locate

kx-000013-顺序表-定位元素下标,locate

时间:2022-11-30 03:33:28浏览次数:68  
标签:locate 下标 000013 int pos key kx plist size

  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 - 非负整数值:key元素所在表中的下标,取值为[0,size-1]
    */
    status sList_locate(const mySList* plist, etype key)
    {
        if (plist == NULL || plist->pbase == NULL)
        {
            return ERROR;
        }
        int pos = -1;
        for (int i = 0; i < plist->size; ++i)
        {
            if (key == plist->pbase[i])
            {
                pos = i;
                break;
            }
        }
        return pos;
    #if 0    // while循环实现
        int pos = plist->size - 1;
        while (pos > -1 && plist->pbase[pos] != key)
        {
            --pos;
        }
        return pos;
    #endif // 0
    }// 返回值为key所在下标,可能范围为[-1,size-1],-1表示找不到

     

标签:locate,下标,000013,int,pos,key,kx,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/16937290.html

相关文章

  • kx-000014-顺序表-查找元素是否存在表中
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//<定义函数结果状态typedefintety......
  • kx-000010-顺序表-表尾追加元素
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000011-按位置删除元素,remove
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000008-按位置插入元素x,insert
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000009-顺序表-头插,尾插
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000007-顺序表-扩容
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000005-求表长与表容量
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000006-判空,判满
    顺序表结构体定义。具体的结构体定义请查看头文件:https://www.cnblogs.com/kxwslmsps/p/16937235.htmltypedefstatusint;//定义函数结果状态typedefintetyp......
  • kx-000004-顺序表-打印
    顺序表定义请参考:https://www.cnblogs.com/kxwslmsps/p/16937235.html打印顺序表/***@brief功能:打印顺序表\n*@param[in]plist:表结构指针*@param[in]op:操作......
  • kx-000002-顺序表-初始化
    顺序表头结点定义请参考:https://www.cnblogs.com/kxwslmsps/p/16937235.html顺序表的初始化函数/***@brief功能:初始化顺序表\n*@param[in]plist:表结构指针*@p......