数据结构和算法学习记录——复习静态顺序表的两个接口函数(在指定位置插入数据,在指定位置删除数据)

简介: 数据结构和算法学习记录——复习静态顺序表的两个接口函数(在指定位置插入数据,在指定位置删除数据)

整体代码

#include <stdio.h>
 
#define N 20  //存储容量
typedef int SLDataType;  //方便修改存储的数据类型
 
typedef struct SeqList
{
    SLDataType a[N];
    int size;  //表示数组中存储了多少个数据
}SL;
 
void SeqListInit(SL* ps)//初始化
{
    ps->a[0] = 0;
    ps->size = 0;
}
 
void SeqListInsert(SL* ps, int pos, SLDataType x)//在pos位置插入数据
{
    if (pos <= 0 && pos > ps->size + 1)
    {
        return;
    }
    else
    {
        //挪动数据
        if (ps->size == 0)
        {
            int end = 0;
        }
        else
        {
            int end = ps->size - 1;
            while (end >= pos - 1)
            {
                ps->a[end + 1] = ps->a[end];
                end--;
            }
        }
 
        ps->a[pos - 1] = x;
        ps->size++;
    }
}
 
void SeqListErase(SL* ps, int pos)//在pos位置删除数据
{
    if (pos <= 0 && pos > ps->size)
    {
        return;
    }
    int begin = pos;
    while (begin < ps->size)
    {
        ps->a[begin - 1] = ps->a[begin];
        begin++;
    }
    ps->size--;
}
 
int main()
{
    SL Sq;
    int i = 0;
    SeqListInit(&Sq);
    for (i = 1; i <= 8; i++)
    {
        SeqListInsert(&Sq, i, i);
    }
 
    for (i = 0; i < 8; i++)
    {
        printf("%d\t", Sq.a[i]);
    }
    printf("\n");
 
    SeqListInsert(&Sq, 3, 10);
    for (i = 0; i < 9; i++)
    {
        printf("%d\t", Sq.a[i]);
    }
    printf("\n");
 
    SeqListErase(&Sq, 3);
    for (i = 0; i < 8; i++)
    {
        printf("%d\t", Sq.a[i]);
    }
    return 0;
}

pos位置插入数据

这个写得比较详细,想尽量把每个思路、步骤都展示出来。

pos位置删除数据

在看完前面的基础上,这个简略一些,只展示大体思路

目录
相关文章
|
5月前
|
机器学习/深度学习 算法 前端开发
别再用均值填充了!MICE算法教你正确处理缺失数据
MICE是一种基于迭代链式方程的缺失值插补方法,通过构建后验分布并生成多个完整数据集,有效量化不确定性。相比简单填补,MICE利用变量间复杂关系,提升插补准确性,适用于多变量关联、缺失率高的场景。本文结合PMM与线性回归,详解其机制并对比效果,验证其在统计推断中的优势。
1480 11
别再用均值填充了!MICE算法教你正确处理缺失数据
|
7月前
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
174 1
|
6月前
|
传感器 机器学习/深度学习 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
413 1
|
6月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
495 0
|
6月前
|
存储 监控 算法
企业电脑监控系统中基于 Go 语言的跳表结构设备数据索引算法研究
本文介绍基于Go语言的跳表算法在企业电脑监控系统中的应用,通过多层索引结构将数据查询、插入、删除操作优化至O(log n),显著提升海量设备数据管理效率,解决传统链表查询延迟问题,实现高效设备状态定位与异常筛选。
178 3
|
5月前
|
机器学习/深度学习 人工智能 算法
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究(Matlab代码实现)
242 0
|
6月前
|
算法 数据挖掘 定位技术
基于密度的聚类算法能够在含有噪声的数据集中识别出任意形状和大小的簇(Matlab代码实现)
基于密度的聚类算法能够在含有噪声的数据集中识别出任意形状和大小的簇(Matlab代码实现)
152 1
|
6月前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
7月前
|
机器学习/深度学习 传感器 边缘计算
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)
【轴承故障诊断】基于融合鱼鹰和柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)
199 0
|
7月前
|
算法 数据可视化 数据挖掘
基于AOA算术优化的KNN数据聚类算法matlab仿真
本程序基于AOA算术优化算法优化KNN聚类,使用Matlab 2022A编写。通过AOA搜索最优特征子集,提升KNN聚类精度,并对比不同特征数量下的聚类效果。包含完整仿真流程与可视化结果展示。

热门文章

最新文章