数据结构顺序表之(四)按位置删除&&按值删除&&排序(冒泡)

本文介绍了数据结构顺序表的三种操作:按位置删除、按值删除和冒泡排序。在按位置删除时,将删除位置后的元素前移;按值删除则先找到元素位置再删除;冒泡排序详细阐述了其循环结构。同时提供了相关的头文件Sqlist.h、Sqlist.cpp和main.cpp的代码实现,并展示了操作结果。
摘要由CSDN通过智能技术生成

1. 思路

1.1 按位置删除

将需要删除位置之后的值全部往前移动一个单位,size-1。

1.2 按值删除

通过查找方法返回值所在位置,再通过位置删除

1.3 排序(冒泡)

注意两个循环怎么构成的。

2. 代码

2.1 Sqlist.h

加入

//按位置删除
void delete_pos(Sqlist *list, int pos);

//按值删除
void delete_val(Sqlist *list, ElemType x);

//排序(冒泡)
void sort(Sqlist *list);

2.2 Sqlist.cpp

加入

void delete_pos(Sqlist *list, int pos)
{
        if(pos < 0 || pos > list->size)
        {
                printf("要删除的位置无效,无法删除\n");
                return;
        }
        for(int i = pos; i < list->size; i++)
        {
                list->base[i] = list->base[i + 1];
        }
        list->size--;
}

voi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值