博客
关于我
线性表 插入对比
阅读量:404 次
发布时间:2019-03-04

本文共 911 字,大约阅读时间需要 3 分钟。

线性表是数据存储的两种主要方式之一,常用于列表操作中。其基本操作包括插入、删除和查找。

顺序表的插入操作是其常见操作之一。在指定位置插入新元素时,需注意以下几点:

插入前的表结构为:a1, a2, ..., ai-1, ai, ai+1, ..., an。

插入后的表结构为:a1, a2, ..., ai-1, x, ai, ai+1, ..., an,其中1 ≤ i ≤ n+1。

以下是C语言实现顺序表插入操作的代码示例:

int Insert_SeqList(SeqList *L, int i, datatype x){    int j;    if (L->last == MAXSIZE - 1)    {        printf("表满");        return -1;    }    if (i < 1 || i > L->last + 2)    {        printf("位置错误");        return 0;    }    for (j = L->last; j > i - 1; j--)    {        L->data[j + 1] = L->data[j];    }    L->data[i - 1] = x;    L->last++;    return 0;}

链表插入示例:以下是单链表的插入代码示例:

LinkList Creat_LinkList1(){    LinkList L = NULL;    LNode *s;    int x;    scanf("%d", &x);    while (x != flag)    {        s = (LNode *)malloc(sizeof(LNode));        s->data = x;        s->next = L;        L = s;        scanf("%d", &x);    }    return L;}

链表与顺序表的主要区别在于存储方式和访问效率。插入操作在链表中只需修改两个指针即可完成,而顺序表则需移动大量数据。

转载地址:http://jzkh.baihongyu.com/

你可能感兴趣的文章
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>
Node-RED怎样导出导入流程为json文件
查看>>
Node-RED订阅MQTT主题并调试数据
查看>>
Node-RED通过npm安装的方式对应卸载
查看>>
node-request模块
查看>>
node-static 任意文件读取漏洞复现(CVE-2023-26111)
查看>>
Node.js 8 中的 util.promisify的详解
查看>>
node.js debug在webstrom工具
查看>>