首页 > 其他分享 >kx-顺序表:在顺序表首部插入元素

kx-顺序表:在顺序表首部插入元素

时间:2023-02-15 20:37:01浏览次数:39  
标签:pbase 顺序 首部 int seqType kx plist size

一、定义顺序表结构

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

二、头插法

1、思路

2、代码

/// @brief 功能: 头插
/// @param[in] plist:表结构指针
/// @param[in] x:待插元素
/// @retval OK(1):插入成功
/// @retval ERROR(0):表结构不存在,插入失败
/// @retval ERR_OVERFLOW(-2):表满且扩容失败
status sList_push_front(mySList* plist, seqType x)
{
	if (plist == NULL || plist->pbase == NULL)
	{
		return ERROR;
	}
	/// 定义表满标志
	int flagFull = plist->capacity == plist->size;
	/// 表满,且扩容失败
	if (flagFull && OK != sList_expand(plist, 1))
	{
		return ERR_OVERFLOW;
	}

	/// 将[1,size-1]范围内元素依次向后移动1个位置
	for (int i = plist->size; i > 0; --i)
	{
		plist->pbase[i] = plist->pbase[i - 1];
	}
	plist->pbase[0] = x;
	plist->size++;
	return OK;
}

标签:pbase,顺序,首部,int,seqType,kx,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/17124535.html

相关文章

  • kx-顺序表:删除顺序表首元素
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:删除顺序表中下标为index的元素
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表表尾追加元素
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:打印顺序表
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:查找元素x在表中下标
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:查找元素是否在表中
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表扩容
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表结构定义
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......
  • kx-顺序表:顺序表头文件定义
    一、公共头文件#ifndef__MYHEAD_H__#define__MYHEAD_H__/*******************************************************************@file:myhead.h*@brief:公......
  • 数据结构与算法-第01章:顺序表-实现
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......