数据结构—顺序表的插入算法
- /*ListInsert(*L,i,e):在线性表L中的第i个位置插入新元素e,L的长度加1*/
- /*
- 顺序存储线性表的插入算法思路:
- 1。如果插入的位置不合理,抛出异常
- 2。如果线性表的长度大于数组的长度,则抛出异常或动态增加容量
- 3。从最后一个元素开始向前遍历到第i个位置,分别将他们都向后移动一个位置
- 4。将要插入元素填入位置i处
- 5。表长加1
- */
- #include <iostream>
- using namespace std;
- typedef int datatype;
- /*顺序线性表的存储结构*/
- #define MAXSIZE 100
- typedef struct
- {
- datatype data[MAXSIZE];
- int len;
- }SequenList;
- int insert(SequenList *L,int i,int e)
- {
- int j;
- if (i < 1 || i > L->len+1 || L->len >= MAXSIZE) /*判断位置i是否存在以及是否有空的*/
- {
- printf( "Error"); /*存储单元*/
- }
- else
- {
- /*for(j=(*L).len-1;j>=i-1;j--)*/
- for(j=L->len-1;j>=i-1;j--)
- {
- /*将要插入位置后数据元素向后移一位 */
- L->data[j+1]=L->data[j];
- }
- L->data[i-1]=e; /*将新元素插入*/
- L->len=L->len+1;
- }
- return 0;
- }
- int main(void)
- {
- int i,InsertData,InsertLocation;
- SequenList List;
- List.len=0;//终端节点下标
- for(i=0;i<5;i++)
- { /*随机生成5个数*/
- List.data[i]=rand()%10;
- List.len++;
- cout<<List.data[i]<<" "; }
- cout<<endl;
- cout<<"输入要添加的数据:";
- cin>>InsertData;
- cout<<"输入要添加的位置:";
- cin>>InsertLocation;
- insert(&List,InsertData,InsertLocation);
- for(i=0;i<List.len;i++)
- {
- cout<<List.data[i]<<" ";
- }
- /* 暂停一会,也可以使用system("pause") */
- getchar();
- getchar();
- cout<<endl;
- return 0;
- }
转载于:https://blog.51cto.com/liam2199/1024865
数据结构—顺序表的插入算法相关推荐
- 数据结构顺序表学习小结
一.基本概念: 数据>数据元素>数据项 数据元素是数据的基本单位 数据项是数据的最小单位 数据元素是带有结构的各项数据元素的集合 数据结构包括逻辑结构和存储结构两个层次 二.算法 一个算法 ...
- 顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)
实现顺序表的插入,删除,查找,输出操作在C语言中经常用到.下面小编给大家整理实现代码,一起看下吧 代码如下所示: #include using namespace std; #define MAXSI ...
- C语言链表的转置算法,c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置.doc...
c语言编程集 数据结构 顺序表 点链表 数制转换 矩阵转置 #include "stdio.h" #include "malloc.h" /*typedef s ...
- 考研数据结构之线性表(1.7)——练习题之A和B两个顺序表中相同元素组成一个新的从大到小的有序顺序表C的算法(C表示)
题目 设A和B是两个顺序表,其元素按递增的顺序排列.编写一个将A和B中相同元素组成一个新的从大到小的有序顺序表C的算法. 分析 在归并算法的基础上稍加改动,只需要将当前扫描到的相等元素归入C表即可. ...
- 数据结构-顺序表结构的实现C语言(全代码)
课程设计题目 设计出顺序表结构的相关函数库,以便在程序设计中调用. 题目要求 (1)包括线性表的各种基本函数以及常用函数(自己确定函数.函数形式及理由) (2)最好能借助语言环境实现图形显示功能,以便 ...
- C#数据结构-顺序表
顺序表,顾名思义存储在计算机指定内存区域的一块连续的存储结构,跟我们一起排队做广播体操的那种方式 存储物理结构:物理内存空间上是连续的 存储逻辑关系:存储值之间的关系为一对一 使用场景:一般访问数据量 ...
- C语言创建顺序表并插入元素 详细注释
顺序表是用一组地址连续的存储单元依次存储数据元素的数据结构.顺序表是线性表的一种,线性表是最常用且最简单的一种数据结构,一个线性表是 n 个数据元素的有限序列.我们使用 c 语言来创建顺序表并插入元素 ...
- 数据结构-顺序表(动态分配存储空间)
数据结构-顺序表(动态分配存储空间) (1)顺序表的结构定义: 结构型定义:(动态分配存储空间) /*** 动态分配存储空间*/ #define InitSize 100 //动态分配存储空间时,不限 ...
- C语言/C++常见习题问答集锦[八十三]之数据结构顺序表(operand types are error: no match for “operator==“)
C语言/C++常见习题问答集锦[八十三]之数据结构顺序表{operand types are error: no match for "operator=="} 程序之美 前言 主 ...
最新文章
- 神策数据保险行业解决方案,正式上线官网!
- curl命令java_Java 应用线上问题排查思路、工具小结
- 数据链路层:ARP协议详解(绝对经典)
- ele-plus包的安装和使用
- 人工智障学习笔记——梯度下降(2)优化算法
- 中级联选择中多级选择方法使用_PCB加工中,使用选择性波峰焊的优缺点是什么?...
- win11更新后黑屏怎么办 Windows11更新后黑屏的解决方法
- java无法启动安装程序,Windows Fix中无法启动Java更新安装程序错误
- 如何从零开始学android?
- 单位工作制度牌展示_员工工号牌管理制度
- 激活函数:阶跃函数、sigmoid函数、ReLU函数、softmax函数
- c语言的typedef struct 对应java参数类型,JNA实战系列:02JNA与C语言中的数据类型映射以及复杂结构体传参示例...
- redisson分布式锁实现原理
- 2019 年第 34 周 DApp 影响力排行榜 | TokenInsight
- 微信公众号的封面图怎么拿到手
- PHP中的面向对象思想
- c语言整形如何正确使用除法,简单的C语言移位计算整形乘法和除法值
- HP Superdome定位网卡位置并更换
- html 在盒子中字体垂直,第五章,css行内盒模型和文字样式
- 掀开CC攻击的头盖骨
热门文章
- 从别人那拷下来的几点Session使用的经验(转载)
- 9102年webpack4搭建vue项目
- 【RPA干货来袭】 UiBot关于如何使用浏览器调用JS命令的说明
- Docker+Jenkins持续集成环境(3)集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果...
- kentico中自定义错误页面
- 查看SqlServer的内存使用情况
- asp.net MVC中实现调取web api
- ado.net 修改,查询
- Leetcode#43Multiply Strings
- Linux-profile、bashrc、bash_profile之间的区别和联系