顺序表的删除

这篇博客详细介绍了如何在顺序表中进行按位序和按下标删除整数元素的方法。提供了两个函数实现,分别是`ListDelete`按位序删除和`ListDeleteByIndex`按下标删除,确保了数组元素的正确前移,并更新长度。同时,这两个函数都检查了删除位置的合法性以及表是否为空,以避免非法操作。
摘要由CSDN通过智能技术生成

以顺序表存放的数据是整数类型为例 ~

  • 按位序删除
bool ListDelete(SqList &L,int i,int &e){  //i 为要插入位置的位序,用 e来接收被删除的元素

	if(i<1||i>L.length)                  //位序的数值不合法
		return false;
	if(L.length==0)
		return false;

	e=L.data[i-1];                       //位序 对应的下标为 位序-1
	for(int j=i;j<=L.length-1;j++)      //前移
		L.data[j-1]=L.data[j];
	L.length--;                          
	return true;	
	
}
  • 按下标删除
bool ListDelete(SqList &L,int i,int &e){  //i 为要插入位置的下标,用 e来接收被删除的元素

	if(i<0||i>L.length-1)                   //下标的数值不合法
		return false;
	if(L.length==0)                        //表为空,不可删
		return false;
		
	e=L.data[i];
	for(int j=i+1;j<=L.length-1;j++)    //删除下标为 i的元素,即删除位序为 i+1的元素
		L.data[j-1]=L.data[j];
	L.length--;
	return true;	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

头疼小宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值