实现顺序表的插入,删除,查找,输出操作在C语言中经常用到。下面小编给大家整理实现代码,一起看下吧

代码如下所示:

#include

using namespace std;

#define MAXSIZE 15

typedef int DataType;

typedef struct

{

DataType data[MAXSIZE]; //通常用一位数组来描述顺序表的数据存储

int SeqLength; /*线性表长度*/

} SeqList;

SeqList *Init_SeqList(); //初始化顺序表

void Define_SeqList(SeqList *L,int n); //填充顺序表的内容

void Display_SeqList(SeqList *L); //提取顺序表中的元素

int Insert_SeqList(SeqList *L,int i,DataType x); //添加元素到指定位置(从开始)

int Delete_SeqList(SeqList *L,int i); //删除指定位置的元素(从开始)

【Sequence.cpp】

#include "Sequence.h"

#include

using namespace std;

SeqList *Init_SeqList()//顺序表的初始化算法,将顺序表清空

{

SeqList *L;

L=new SeqList;

L->SeqLength=0; /*长度置为-1*/

return L;

}

void Define_SeqList(SeqList *L,int n)//顺序表的定义算法

{

cout<

for(int i=0;i

{

cin>>L->data[i]; //输入数组元素

L->SeqLength++;

}

}

void Display_SeqList(SeqList *L)//顺序表的输出算法

{

cout<

int i;

for(i=0;i<=L->SeqLength-1;i++)

{

cout<data[i]<

}

cout<

}

int Insert_SeqList(SeqList *L,int i,DataType x) //顺序表的插入算法

{

cout<

int j;

if(L->SeqLength==MAXSIZE-1) //数组长度等于设定值-1,则表满

{

cout<

return -1;

}

if(i<1||i>L->SeqLength+1) //插入位置在第一个之前,或者插入到大于当前数组的长度+1

{

cout<

return 0;

}

for(j=L->SeqLength-1;j>=i;j--) //i之后全部后移

{

L->data[j+1]=L->data[j];

}

L->data[i]=x; //将元素填充到空白位置

L->SeqLength++;

cout<

Display_SeqList(L);

return 1;

}

int Delete_SeqList(SeqList *L,int i)//顺序表的删除算法

{

cout<

int j;

if(i<1||i>L->SeqLength)

{

cout<

return 0;

}

for(j=i;j<=L->SeqLength-1;j++)

{

L->data[j]=L->data[j+1]; //i索引之后全部前移

}

L->SeqLength--;

cout<

Display_SeqList(L);

return 1;

}

【Test_Sequence.cpp】

#include "Sequence.h"

#include

using namespace std;

int main()

{

SeqList *L;//顺序表的定义

L=Init_SeqList();//顺序表的初始化

Define_SeqList(L,6);//定义顺序表

Display_SeqList(L);//顺序表的输出

Insert_SeqList(L,4,3);//顺序表的插入

Insert_SeqList(L,6,21);

Insert_SeqList(L,2,15);

Delete_SeqList(L,5);//顺序表的删除

Delete_SeqList(L,3);

Delete_SeqList(L,12);

return 0;

}

效果如下:

以上所述是小编给大家介绍的C++实现顺序表的常用操作(插入删出查找输出),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)相关推荐

  1. 6-5 顺序表操作集 (20 分)(创建,查找,插入,删除)以及顺序表的理解

    顺序表: 线性表的顺序存储 线性表的顺序存储是指在内存中用地址连续的一块存储空间顺序存放线性表的各元素 在程序设计语言中,一维数组在内存中占用的存储空间就是一组连续的存储区域,因此,用一维数组来表示顺 ...

  2. php删除一张表数据的时候 把另一张表的数据也删除,剔除第一张表的数据时,修改第二张表的相关字段的数值...

    删除第一张表的数据时,修改第二张表的相关字段的数值 表xf xf_id vip total 1 1 10 2 1 100 3 2 80 4 3 50 表vip vip jifen 1 1000 2 5 ...

  3. mysql 直接删表空间文件_oracle删除(释放)数据文件/表空间流程

    oracle删除(释放)数据文件/表空间流程 生产环境:数据库里空间不足,niptest表空间251G,只使用了17G 再alter database datafile '...../niptest1 ...

  4. 删除磁盘上的表空间后再删除数据库中的表空间——ORA-01549:表空间非空,请使用including contents选项

    前提:电脑盘中误删了表空间,没有备份,无法恢复,为重新使用该表空间,需要删除该表空间,重新建立一个新的同名表空间,在PLSQL中右键删除该表空间时候,无法删除. 问题:在PLSQL中右键删除表空间,无 ...

  5. mysql删减表的关键字_Mysql 删除数据及数据表

    在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失. 删除数据 删除表内数据,使用delete关键字. 删除指定条件的数据 删除用户表内id 为1 的用户:d ...

  6. 达梦数据库删除用户_DM 达梦数据库 删除表空间 [-3412]:试图删除已经使用的表空间. 错误 处理方法...

    达梦数据库drop 表空间时报如下错误: [dave@www.cndba.cn ~]$ disql SYSDBA/SYSDBA@127.0.0.1:6236 服务器[127.0.0.1:6236]:处 ...

  7. SAP CA02删除了工艺路线的工序,但是在表PLPO里没有删除记录,在表PLAS里才有。(疑似系统BUG)(查询函数 CARO_ROUTING_READ)

    今天我在用CA03查询工艺路线的时候,发现 5245 有8道工序 然后在后台表PLPO里查,居然有9道工序,其中这第一条明显是多出来的,但是在表里居然没有删除标记 然后我用CA61去查询更改记录 发现 ...

  8. db2修改字段名_DB2 建表,添加字段,删除字段,修改字段等常用操作

    转载:http://blog.sina.com.cn/s/blog_67aaf4440100v01p.html,稍作修改. --创建数据库 create database Etp; --连接数据库 c ...

  9. Java 字符串常用操作(比较、查找位置、删除字符、替换字符串、反向输出、是否存在、分割字符串、大小写转换,区域比较、拼接字符串)

    字符串比较 public class StringCompareEmp{public static void main(String args[]){String str = "Hello ...

最新文章

  1. iis7 您无权使用所提供的凭据查看此目录或页面。_使用Spring Cloud和Docker构建微服务架构
  2. Java高级特性——反射
  3. Qt工作笔记-第三种方法在QGraphics上写文本
  4. 整理好的200多java面试题,可用于机器学习
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的论坛管理系统
  6. CLR Generic
  7. POJ NOI0113-30 1的个数【进制】
  8. C#设计模式--设配器模式
  9. 惠普M1005打印机驱动-LaserJet提供下载
  10. Java 数据库连接池工作原理
  11. Android静态库和动态库的区别
  12. 在线License管理系统(支持离线授权)
  13. ArcEingine——IRelationalOperator的Crosses与Overlaps
  14. 读史可以明智_明智之举:获得满意的广告
  15. 【眼底图像数据集】视杯 视盘分割
  16. 光盘显示0字节可用_u盘显示0字节怎么办 u盘显示0字节解决步骤【方法】
  17. 微信预览wx.previewImage黑屏
  18. 微信开发者工具关联gitee
  19. 力扣中国(LeetCode) 算法题 有效独数(python)
  20. 几何画板中去除画出的线段的教程

热门文章

  1. cwntos linux kde桌面,Centos如何安装KDE的桌面
  2. 【OpenCV 例程200篇】71. 连续函数的取样
  3. 【OpenCV 例程200篇】48. 图像增强—彩色直方图匹配
  4. linux 设备驱动总结,linux设备驱动归纳总结(三):3面向对象思想和lseek
  5. 外星人入侵游戏--python实战 (附完整代码)
  6. 高级软件工程第四次作业:两只小熊队团队作业
  7. springBoot+mybatisPlus小demo
  8. hdu-5707-Combine String
  9. 简单说下C#变量的作用域
  10. iOS开发ARC内存管理