首页 > 其他分享 >kx-顺序表:顺序表表尾追加元素

kx-顺序表:顺序表表尾追加元素

时间:2023-02-15 17:25:02浏览次数:30  
标签:arr 顺序 return int 表表 追加 kx plist

一、定义顺序表结构

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

二、表尾追加元素

1、思路

2、代码

/// @brief 将数组arr元素依次追加到顺序表表尾
/// @param plist:表结构指针
/// @param arr:数组首地址
/// @param n:数组元素个数 
/// @return status:返回追加结果
/// @retval OK(1):追加成功
/// @retval ERROR(0):顺序表不存在,追加失败
/// @retval ERR_PARA(-1):追加失败:没有待追加的数组元素
/// @retval ERR_OVERFLOW(-2):追加失败:容量不足且扩容失败
status sList_append(mySList* plist, seqType* arr, int n)
{
	if (plist == NULL || plist->pbase == NULL)
	{
		return ERROR;
	}
	/// 若数组arr为空或不存在
	if (n < 1 || arr == NULL)
	{
		return ERR_PARA;	///< 传入参数错误
	}
	/// 顺序表可能需要扩容的增量inc
	int inc = plist->size + n - plist->capacity;	
	if (inc > 0 && (OK != sList_expand(plist, inc)))
	{
		return ERR_OVERFLOW;	///< 扩容失败
	}
	/// 将数组arr元素依次追加至顺序表表尾
	for (int i = 0; i < n; ++i)
	{
		plist->pbase[i + plist->size] = arr[i];
	}
	plist->size += n;
	return OK;
}

标签:arr,顺序,return,int,表表,追加,kx,plist
From: https://www.cnblogs.com/kxwslmsps/p/17123857.html

相关文章

  • 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......
  • Java main方法所在类初始化顺序
    目录1、main方法特性2、与所在类的关系1、main方法特性访问权限是publicmain()是static静态,因此如果在main方法中调用本类的其他方法也必须是静态方法,否则需要先实例化......
  • java 按照自定义顺序枚举实体类的属性值
    工具类/***按照字段顺序进行拼接**@paramobj对象,需要在字段上添加FieldOrder注解*@paramfix拼接符号*@param<T>*@ret......
  • 顺序表:合并2个非递减顺序表
    一、定义顺序表结构#defineINIT_SIZE10 ///<顺序表初始容量typedefintseqType; ///<定义顺序表元素类型///@brief顺序表结构定义typedefstructt_sqList{ s......