博客
关于我
线性表 插入对比
阅读量: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/

你可能感兴趣的文章
Objective-C实现位置型pid算法(附完整源码)
查看>>
Objective-C实现位置型pid算法(附完整源码)
查看>>
Objective-C实现低通滤波器(附完整源码)
查看>>
Objective-C实现余弦cosx函数(附完整源码)
查看>>
Objective-C实现余数定理算法(附完整源码)
查看>>
Objective-C实现使用 2 个堆栈形成队列算法(附完整源码)
查看>>
Objective-C实现使用 radix-2 快速傅里叶变换的快速多项式乘法算法(附完整源码)
查看>>
Objective-C实现使用 ziggurat() 作为 OpenMP 并行程序中的随机数生成器 (RNG)(附完整源码)
查看>>
Objective-C实现使用DisjointSet 检测无向循环算法(附完整源码)
查看>>
Objective-C实现使用Prim算法确定图的最小生成树算法(附完整源码)
查看>>
Objective-C实现使用二元运算符将两个数字相加fullAdder算法(附完整源码)
查看>>
Objective-C实现使用分而治之找到单峰列表的峰值算法(附完整源码)
查看>>
Objective-C实现使用数组实现约瑟夫环(附完整源码)
查看>>
Objective-C实现使用欧几里得除法的 a/b 的十进制扩展算法(附完整源码)
查看>>
Objective-C实现使用矩阵求幂的第 n 个斐波那契算法(附完整源码)
查看>>
Objective-C实现使用管道重定向进程输入输出(附完整源码)
查看>>
Objective-C实现倒计时(附完整源码)
查看>>
Objective-C实现借记款项功能(附完整源码)
查看>>
Objective-C实现全年3天打渔,2天晒网(附完整源码)
查看>>
Objective-C实现八进制转十进制算法(附完整源码)
查看>>