数据结构顺序表之(三)按位置插入&&查找&&求长度

本文介绍了顺序表的三种基本操作:1.1 按位置插入,通过移动元素实现;1.2 按值查找,循环比较并返回第一个匹配的位置;1.3 求长度,直接返回size。完整代码包括Sqlist.h, Sqlist.cpp和main.cpp文件。后续计划实现按位置删除、按值删除及排序功能。" 98859746,8158497,使用npm与babel解决JavaScript版本兼容问题,"['javascript', '转译工具', 'npm', 'babel', '前端开发']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 思路

1.1 按位置插入

将需要插入位置的值以及之后的值全部往后移动一个位置,空出位置,将插入的值赋值给该位置。

1.2 按值查找

通过循环每个元素,与给的值比较,当相等时,返回该位置信息。(查找的值在顺序表中有多个时,会有点问题,只会显示第一个。)

1.3 求长度

返回size即可。

2. 代码

2.1 Sqlist.h

加入

//按位置插入
void insert_pos(Sqlist *list, int pos, ElemType x);

//按值查找,返回位置
int find(Sqlist *list, ElemType x);

//求顺序表长度
int length(Sqlist *list);

2.2 Sqlist.cpp

加入

void insert_pos(Sqlist *list, int pos, ElemType x)
{
        if(pos < 0 || pos > list->size)
        {
                printf("要插入的位置不合法,无法插入数据\n");
                return;
        }
        for(int i = list->size; i > pos; --i)
        {
                list->base[i] = list->base[i - 1];
        }
        list->base[pos] = x;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值