首页 > 其他分享 >顺序表-00008-按位置插入,insert

顺序表-00008-按位置插入,insert

时间:2022-12-04 02:33:40浏览次数:37  
标签:insert pbase index int 00008 插入 plist size

  • 顺序表结构定义
  • typedef int seqType;	// 定义顺序表数据类型
    
    // 定义顺序表的结构体
    typedef struct t_sList
    {
    	seqType* pbase;		// 表基址
    	int capacity;		// 表容量
    	int size;			// 表长度
    }mySList;
    

      

  • 顺序表:按位置插入函数
  • /**
    * @brief 功能: 在下标index处插入元素x\n
    * @param[in] plist:表结构指针
    * @param[in] index:元素插入的下标
    * @param[in] x:待插元素
    * @retval OK(1):插入成功
    * @retval ERROR(0):表结构不存在,插入失败
    * @retval ERR_PARA(-1):index范围不在[0,size],插入失败
    * @retval OVERFLOW(-2):插入失败:表满且扩容失败
    */
    status sList_insert(mySList* plist, int index, seqType x)
    {
    	if (plist == NULL || plist->pbase == NULL)
    	{
    		return ERROR;
    	}
    	if (index < 0 || index>plist->size)// 可插入的位置取值为[0,size]任一位置
    	{
    		return ERR_PARA;		// 参数pos不符合要求
    	}
    	int ret = plist->capacity == plist->size;	//< 表满
    	if (ret && OK != sList_expand(plist, 3))
    	{
    		return OVERFLOW;
    	}// 表满且扩容失败
    
    	for (int i = plist->size; i > index; --i)
    	{
    		plist->pbase[i] = plist->pbase[i - 1];
    	}	// i的含义是旧元素被移至新位置的范围[pos+1,size],空出了pos位置
    	plist->pbase[index] = x;
    	++plist->size;
    	return OK;
    }
    

      

标签:insert,pbase,index,int,00008,插入,plist,size
From: https://www.cnblogs.com/kxwslmsps/p/16949308.html

相关文章

  • vba-对插入的表格进行操作
    Sub新增行(ByValtabNameAsString)OnErrorResumeNextSettb=ActiveSheet.ListObjects(tabName)Iftb.ListRows.Count>0Thentb.......
  • Kettle增量插入和更新
    将数据源A库中的某张表的数据插入更新到数据库B中。​为方便演示,我们在数据库A和数据库B中分别创建表userA和表userB。最终目标为将数据表userA中的数据插入更新到数据表use......
  • SQLServer中批量插入数据方式的性能对比
    昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了本文。公司技术背景:数......
  • ASP.NET 向SQLSERVER中批量插入数据
    usingSystem.Data;usingSystem.Diagnostics;usingSystem.Data.SqlClient;stringconnectionString="DataSource=HG-J3EJJ9LSW5PY;InitialCatalog=Test......
  • C#中数据的批量插入和更新_Asp.net
    对于海量数据的插入和更新,ADO.NET确实不如JDBC做到好,JDBC有统一的模型来进行批操作.使用起来非常方便: PreparedStatementps=conn.prepareStatement("insertorupd......
  • golang的插入排序算法
    1、什么是插入排序?先看一个例子:{7,6,1,9,3}无序数列中,我们约定好无序数列的第一个元素7作为有序数列{7},然后分别对{6,1,9,3}的数与7进行比较移位得到新的有序数列。第一次迭......
  • 【问题】Unknown return value type: java.lang.Integer springboot插入数据 报错
    很诡异的事情发生了。。。。。。。在使用springboot搭建一个springboot整合mybatis的demo时,测试插入数据的方法,数据成功插入数据库了,但是控制台却报了这个错,提示为止返回类......
  • POI插入行,合并行的单元格
    1、POI插入行,合并行的单元格2、代码/** * *@Title:insertRow *@Description:TODO插入行 *@paramsheet *@paraminsertRowIndex *@Author:......
  • 力扣 701. 二叉搜索树中的插入操作
    701.二叉搜索树中的插入操作给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。返回插入后二叉搜索树的根节点。输入数据 保证 ......
  • MyBatis批量插入的五种方式
    前言这里我列举了MyBatis和MyBatis-Plus常用的五种批量插入的方式,进行了详细的总结归纳。准备工作MyBatis利用For循环批量插入MyBatis的手动批量提交MyBatis以集合方......