顺序表:顺序表是线性表的顺序储存结构 ,顺序表就是将线性表中的数据元素按照线性顺序存储到指定位置开始的、一块连续的存储空间中。

顺序表c++代码:

#include<bits/stdc++.h>
using namespace std;
#define MaxSize 50//线性表不会超过50个元素
typedef int ElemType;
typedef struct
{ElemType data[MaxSize];//存放线性表中的元素int length;//存放线性表的长度
}SqList;//顺序表类型
///建立顺序表
void CreateList(SqList *&L,ElemType a[],int n)//由a中的n个元素建立顺序表
{int i=0,k=0;//k表示L中的元素个数,初始值为0L=(SqList * )malloc(sizeof(SqList));//分配存放线性表的空间while(i<n){L->data[k]=a[i];//将元素a[i]存放到L中k++;i++;}L->length=k;//设置L的长度k
}
///初始化线性表
void InitList(SqList *&L)
{L=(SqList *)malloc(sizeof(SqList));L->length=0;//置空线性表的长度为0
}
///销毁线性表
void DestroyList(SqList *&L)
{free(L);//释放L所指的顺序表空间
}
///判断线性表是否为空表
bool ListEmpty(SqList*L)
{return (L->length==0);
}
///求线性表长度
int ListLength(SqList*L)
{return (L->length);
}
///输出线性表
void DispList(SqList*L)
{for(int i=0;i<L->length;i++)printf("%d ",L->data[i]);printf("\n");
}
///求线性表中某个数据元素值
bool GetElem(SqList*L,int i,ElemType &e)
{if(i<1||i>L->length)return false;//参数i错误时返回falsee=L->data[i-1];//取元素值return true;//成功找到元素是返回true
}
///按元素值查找
int LocateElem(SqList*L,ElemType e)
{int i=0;while(i<L->length&&L->data[i]!=e)i++;//查找元素eif(i>=L->length)return 0;//未找到时返回0elsereturn i+1;//找到后返回其逻辑序号
}
///插入数据元素
bool ListInsert(SqList*&L,int i,ElemType e)
{int j;if(i<1||i>L->length+1)return false;//参数i错误返回falsei--;//将顺序表逻辑序号转化为物理序号for(j=L->length;j>i;j--)//将data[i]及后面的元素后移一个位置L->data[j]=L->data[j-1];L->data[i]=e;//插入元素eL->length++;//顺序表长度加1return true;
}
///删除数据元素
bool ListDelete(SqList*&L,int i,ElemType&e)
{int j;if(i<1||i>L->length)return false;i--;e=L->data[i];for(j=i;j<L->length-1;j++)L->data[j]=L->data[j+1];L->length--;//顺序表长度减1return true;
}
int main()
{int b,c,m,x,t;int n,i;cout<<"输入n,然后输入n个元素"<<endl;SqList *L;ElemType a[100];cin>>n;for(i=0;i<n;i++){cin>>a[i];}InitList(L);CreateList(L,a,n);cout<<"顺序表为:"<<endl;DispList(L);cout<<"在第b个位置插入m元素"<<endl;cin>>b>>m;ListInsert(L,b,m);DispList(L);cout<<"删除第c个元素"<<endl;cin>>c;ListDelete(L,c,x);DispList(L);return 0;
}

顺序表的建立、查找、插入、删除相关推荐

  1. 顺序表的建立,插入,删除,二分(折半)查找,监视哨查找,冒泡排序,选择排序,直接插入排序

    数据结构课程中学的顺序表,在顺序表中进行删除,查找,排序. 第一次编辑,排版什么的可能有不对的地方,但是程序我跑过了,应该是没问题的,这个其实是我期末上机考试的题. 注释还蛮多的,所以我就直接把代码贴 ...

  2. c语言创建空顺序表的程序,用C语言编写一个完整的程序,实现顺序表的建立、插入、删除、输出等基本运算。...

    #include #include #define maxsize 30 typedef int datatype; typedef struct seqlist{ datatype data[max ...

  3. 实现一个顺序表的建立、查找、插入和删除操作【数据结构实验报告】

    文章目录 一.实验目的 二.算法说明 三.算法实现 四.测试效果 一.实验目的 1.熟悉将算法转换为程序代码的过程. 2.了解顺序表的逻辑结构特性,熟练掌握顺序表存储结构的c语言描述方法. 3.熟练掌 ...

  4. 顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)

    实现顺序表的插入,删除,查找,输出操作在C语言中经常用到.下面小编给大家整理实现代码,一起看下吧 代码如下所示: #include using namespace std; #define MAXSI ...

  5. 顺序表-顺序表的基本操作(插入元素+删除元素)

    顺序表的存储结构: typedef struct{int data[Maxsize]; //存在顺序表中的元素int length; //存放顺序表的长度}SqList; 一.插入元素 分析: 在顺序 ...

  6. 【数据结构】顺序表的创建、插入、删除、合并

    定义一个顺序表结构的学生成绩表结构体 typedef struct{int score[MAXSIZE]; //学生成绩int *elem; //存储空间的基地址 int length; //学生成绩 ...

  7. C++实现线性顺序表的初始化,插入,删除,销毁,清空等功能

    C++实现线性顺序表的初始化,插入,删除,销毁,清空等功能 以下代码主要严蔚参考敏主编的<数据结构>(C语言)编写 //线性顺序表 #include <iostream> #d ...

  8. 顺序表的建立和基本操作

    顺序表的建立和基本操作 本题要求实现顺序表的基本操作. 函数定义:初始化 Status InitList(SqList *L); 插入操作 Status ListInsert(SqList *L,in ...

  9. C语言-数据结构-可变长顺序表的初始化,插入和输出

    问题描述: 实现可变长顺序表的建表过程.任务要求:通过顺序表的初始化.插入算法,实现顺序表的建表,并依次输出顺序表元素. [输入形式] 第一行输入整数N(1<=N<=100),表示创建长度 ...

最新文章

  1. 返回值_关于GWLP_WNDPROC的那些奇怪的返回值
  2. 蒙特卡洛树搜索_蒙特卡洛树是什么算法?
  3. tomcat进程意外退出的问题分析
  4. Hyperface笔记
  5. python爬虫实战(一)~爬取百度百科人物的文本+图片信息+Restful api接口
  6. Android mergeDebugResources'. Error: java.util.concurrent.ExecutionException: com.android.ide.comm
  7. postman测试工具
  8. [Oracle][Corruption]究竟哪些检查影响到 V$DATABASE_BLOCK_CORRUPTION
  9. ios 高德地图加载瓦片地图_IOS 高德地图 API 加载 WMS 服务
  10. Silverlight实例教程 - 理解Navigation导航框架Frame类
  11. 数据库原理—SQL数据定义功能(九)
  12. Windows Server 2003 SP2 RIS 配置问题
  13. 在线图片坐标拾取工具
  14. Fiddler工具工作原理
  15. HTTP响应码与HTTP头标
  16. Excel 插件‘Aspen process data ‘在VBA中的基本使用
  17. 【中间件技术】第二部分 CORBA规范与中间件(3) 基于CORBA的开发过程
  18. 八字易经算法之用JAVA实现最简单的称骨算命法
  19. 【教学类-07-04】20221113《破译电话号码-加减法版+自制(PDF打印)》(大班主题《我要上小学》)
  20. Java毕业设计-会议室预约小程序系统

热门文章

  1. 爱了!这18个 Python 高效编程技巧真香!
  2. Python爬虫:爬取华为应用市场app数据
  3. python经典编程题分别取个位十位百位
  4. 双系统android,如何在Android手机上实现双系统
  5. Apple Watch使用指南:所有Apple Watch图标和符号含义
  6. 模型评估之过拟合与欠拟合
  7. 如何使用Tracup设定现实的项目目标(以及要避免的错误)
  8. oracle中nowait怎么用,oracle中UPDATE nowait 的使用方法介绍
  9. 数据仓库建设---数据建模
  10. python中关系运算符惰性求值,lazy.js 惰性求值实现分析