描述

主题:C++ 静态线性表的完整实现
功能:分别实现静态链表的插入、删除、查找操作
提示:如果需要进入下一步操作,输入错误的范围即可

代码

//主题:静态链表
//功能:分别实现静态链表的插入、删除、查找操作
//提示:如果需要进入下一步操作,输入错误的范围即可#include<stdio.h>
#include<iostream>
#include<string>
#define MAXSIZE 50//静态线性表的最大长度//静态
typedef struct StaticSequenceList
{int data[MAXSIZE];//元素int length = 0;//当前长度
}SqList;//插入:在顺序表L的第i个位置插入新元素e
bool ListInsert(SqList &L, int i, int e)
{if (i<1 || i>L.length + 1){std::cout << "位置超出范围\n";return false;}if (L.length >= MAXSIZE){std::cout << "链表已满\n";return false;}for (int j = L.length; j >= i; j--){L.data[j] = L.data[j - 1];}L.data[i - 1] = e;L.length++;return true;
}//删除:删除顺序表L中第i个位置的元素,被删除的元素由e返回
bool ListDelete(SqList &L, int i, int e)
{if (i<1 || i>L.length){std::cout << "位置超出范围\n";return false;}e = L.data[i - 1];for (int j = i; j < L.length; j++){L.data[j - 1] = L.data[j];//前移}L.length--;return true;
}//查找:查找值为e的元素,如果查找成功,返回元素位序,否则返回0
int LocateElem(SqList L, int e)
{int i;for (i = 0; i < L.length; i++){if (L.data[i] == e){return i + 1;}}return 0;
}int main()
{//静态SqList StaticList;int i;//位置int e;//元素bool checker = true;std::cout << "成功创建静态线性表\n\n";//插入for (; checker != false;){std::cout << "\n(总长度:" << MAXSIZE << "当前长度:" << StaticList.length << ")\n插入操作 请输入:位置 元素 ";std::cin >> i >> e;//ListInsert(StaticList, i, e);//输入错误不退出checker = ListInsert(StaticList, i, e);//输入错误则退出//打印std::cout << std::endl;for (int print = 0; print < StaticList.length; print++){std::cout << StaticList.data[print] << " ";}}//删除std::cout << "进入删除操作\n";for (checker = true; checker != false;){std::cout << "\n(总长度:" << MAXSIZE << "当前长度:" << StaticList.length << ")\n删除操作 请输入:位置";std::cin >> i;//ListInsert(StaticList, i, e);//输入错误不退出checker = ListDelete(StaticList, i, e);//输入错误则退出//打印std::cout << std::endl;for (int print = 0; print < StaticList.length; print++){std::cout << StaticList.data[print] << " ";}}//查找std::cout << "进入查找操作\n";int ret;for (ret = -1; ret != 0;){std::cout << "\n(总长度:" << MAXSIZE << "当前长度:" << StaticList.length << ")\n查找操作 请输入:元素";std::cin >> e;//ListInsert(StaticList, i, e);//输入错误不退出ret = LocateElem(StaticList, e);//输入错误则退出//打印std::cout << "你要查找的元素在第" << ret << "个\n";}system("pause");
}

C++ 静态线性表的顺序存储结构(数组实现)相关推荐

  1. c语言实现顺序存储程序,线性表的顺序存储结构动态态分配C语言实现

    线性表的顺序存储结构动态态分配C语言实现 线性表的顺序存储结构动态态分配C语言实现 初始化执行期间通过malloc函数为数组申请空间,程序运行期间若空间不够可通过realloc函数在保留原存储值的前提 ...

  2. 【数据结构】线性表的顺序存储结构及实现——C语言版

    文章目录 顺序表 1. 顺序表的存储结构定义 2. 顺序表的实现 2.1 初始化顺序表 2.2 建立顺序表 2.3 销毁顺序表 2.4 判空操作 2.5 求顺序表的长度 2.6 遍历操作 2.7 按值 ...

  3. 数据结构和算法:(3)3.1线性表的顺序存储结构

    -----------------------1.线性表基础操作------------------------ 线性表:(List)由零个或多个数据元素组成的有限序列. 首先他是一个序列,元素之间是 ...

  4. C和C++线性表的顺序存储结构

    C和C++线性表的顺序存储结构 基本概念 设计与实现 优点和缺点 基本概念 设计与实现 插入元素算法 判断线性表是否合法 判断插入位置是否合法 把最后一个元素到插入位置的元素后移一个位置 将新元素插入 ...

  5. 《数据结构》c语言版学习笔记——线性表的顺序存储结构

    线性表的顺序存储结构 第一章 线性表的顺序存储结构 文章目录 线性表的顺序存储结构 前言 一.顺序存储结构的建立 1.条件 2.代码 二.顺序存储结构的获得元素 1.条件 2.代码 三.顺序存储结构的 ...

  6. 线性表的顺序存储结构之顺序表类的实现_Java

    在上一篇博文--线性表接口的实现_Java中,我们实现了线性表的接口,今天让我们来实现线性表的顺序存储结构--顺序表类. 首先让我们来看下顺序表的定义: 线性表的顺序存储是用一组连续的内存单元依次存放 ...

  7. 数据结构开发(3):线性表的顺序存储结构

    0.目录 1.线性表的本质和操作 2.线性表的顺序存储结构 3.顺序存储结构的抽象实现和具体实现 3.1 SeqList 3.2 StaticList 和 DynamicList 4.顺序存储线性表的 ...

  8. 线性表:2.线性表的顺序存储结构--顺序表及C语言实现

    逻辑结构上呈线性分布的数据元素在实际的物理存储结构中也同样相互之间紧挨着,这种存储结构称为 线性表的顺序存储结构 . 也就是说,逻辑上具有线性关系的数据按照前后的次序全部存储在一整块连续的内存空间中, ...

  9. 数据结构之线性表之顺序存储结构(3)

    1 前言 经过前两张的理论基础,我相信大家都能简单的明白了数据结构和算法一些常用的概念了,从今天开始我们开始学习数据结构中线性表,一起叩响数据结构的大门. 2 详述 线性表(List):零个或者多个数 ...

最新文章

  1. Python学习笔记17:标准库之数学相关(math包,random包)
  2. php lumen auth,学习 Lumen 用户认证 (一)
  3. Prettier 1.15代码格式化工具新增Angular和Vue.js支持
  4. 重构智能合约(上):非确定性的幽灵
  5. js截取最后一个斜杠之后的内容
  6. C - 3 求正弦值
  7. mysql 中文乱码 或 问号
  8. mxnet window10 cpu 模式的安装
  9. 华为方舟编译器开源!前华为人重磅解读!
  10. CCProgressTimer进度条效果
  11. CodeForces round 753 problem B Odd Grasshopper(奇怪的蚱蜢)
  12. html 京东购物车样式,js京东简单购物车增减功能
  13. 为什么很多人愿意去下载社交APP?
  14. java述职报告ppt_java开发人员述职报告.ppt
  15. win10 + ubuntu20.04 双系统卸载(删除) ubuntu20.04 (图文)
  16. 下载youtube 在线工具_5款不用下载的免费在线做图工具,满足你日常图片处理需求...
  17. 一下科技何一:移动视频风口,内容创业者如何飞升?
  18. OSChina 周六乱弹 ——你打算怎么和老妈解释
  19. 网易 UI 自动化工具 Airtest
  20. nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全

热门文章

  1. php中如何固定表格宽度,实例讲解DataTables固定表格宽度(设置横向滚动条)
  2. qpython怎么添加pip_Q: 在Windows上安装Python 2.7的pyHook和pip
  3. 行健设计_广西大学行健文理学院参加2019年第七届广西大学生工业设计大赛
  4. 利用栈进行程序的括号匹配
  5. cocos2d-x初探学习笔记(5)--动作管理
  6. vector的reserve和resize
  7. Linux 内存管理 | 物理内存管理:物理内存、内存碎片、伙伴系统、slab分配器
  8. 趣谈设计模式 | 适配器模式(Adapter):如何让现存对象适用于新的环境?
  9. 《Go语言圣经》学习笔记 第三章 基础数据类型
  10. 中国第五届CSS大会分享:CSS TIME