顺序表类的实现和基本操作

C++ 顺序表的类实现 1、顺序表的定义 将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构,采用顺序存储结构的线性表简称为“ 顺序表”。 顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到: Loc(ai)=Loc(a1)+(i−1)∗L,1≤i≤n 其中,L是元素占用存储单元的长度。 2、顺序表的基本操作 (1)初始化:建立一个空的顺序表; (2)新建:新建一个顺序表; ... 阅读详情
介绍一下数据结构最基本的一种类型,相信大家都已熟悉,那么把它封装好写成一个类,具体如何实现,下面给出一个头文件和具体调用,亲测可以用,最后附结果图。

写一个头文件,sq_LList.h,用c++代码编写如下:

#include<iostream>
using namespace std;
template <class T> 
class sq_LList{
	private:
		int mm;
		int nn;
		T *v;
	public:
		sq_LList(){mm=0;nn=0;return;}
		sq_LList(int);
		void prt_sq_LList();
		int flag_sq_LList();
		void ins_sq_LList(int,T);
		void del_sq_LList(int);
};

template <class T>
sq_LList<T>::sq_LList(int m){
	mm=m;
	v=new T[mm];
	nn=0;
	return;
}
template <class T>
void sq_LList<T>::prt_sq_LList(){
int i;
cout<<"nn="<<nn<<endl;
for(i=0;i<nn;i++)cout <<v[i]<<endl;
return;
}
template <class T>
int sq_LList<T>::flag_sq_LList(){
if(nn==mm) return (-1);
if(nn==0) return 0;
return 1;
}
template <class T>
void sq_LList<T>::ins_sq_LList(int i,T b){
int k;
if(nn==mm)
{cout<<"overflow"<<endl; return ;}
if(i>nn) i=nn+1;
if(i<1) i=1;
for(k=nn;k>=i;k--)
v[k]=v[k-1];
v[i-1]=b;
nn=nn+1;
return;
}
template <class T>
void sq_LList<T>::del_sq_LList(int i){
int k;
if(nn==0) {cout<<"underflow"<<endl;return ;}
if((i<1)||(i>nn)){cout<<"Not this element in the list!"<<endl;return ;}
for(k=i;k<nn;k++)
v[k-1]=v[k];
nn=nn-1;
return;
}
现在继续写一个列子来看看结果,文件名sq_LList_main.cpp
#include"sq_LList.h"
int main(){
sq_LList<double> s1(100);
cout <<"output the first element s1:"<<endl;
s1.prt_sq_LList();
s1.ins_sq_LList(0,1.5);
s1.ins_sq_LList(1,2.5);
s1.ins_sq_LList(4,3.5);
cout <<"output the second element s1:"<<endl;
s1.prt_sq_LList();
s1.del_sq_LList(0);
s1.del_sq_LList(1);
cout <<"output the third element s1:"<<endl;
s1.prt_sq_LList();
return 0;
}

实验结果来个图看一下:




这是一种最基本的数据结构,没什么好说的,不过还是要自己亲手实现一下比较好。

用顺序表来存储学生的成绩信息实现一系列的功能 建立一个由 n 个学生成绩的顺序表,n 的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果#include&lt;iostream&gt;  using namespace std; const int MaxSize=100; class SeqList  {      public:          SeqList(){length=0;... 阅读详情

相关推荐

seqlist.h头文件

seqlist.h头文件,包含了其中的源代码。很标准的哦。

数据结构之顺序表的建立

#include&lt;iostream&gt; using namespace std; template&lt;class T&gt; class sq_LList { private: int mm; int nn; T *v://顺序表空间存储首地址 public: sq_LList() { mm=0; nn=0; ...

Azuresmh的博客 1522

【学习笔记】《基于φ-OTDR的分布式扰动传感系统定位算法研究-北交-通信与信息系统-吴》重点笔记

一、绪论 1.1 引言 光纤传感器的优点:跟电子传感器相比较,光纤传感器有诸多独特的优势:对电磁干扰免疫;具有很好的绝缘性和耐腐蚀性;灵敏度高,可测量微弱信息;可实现大范围监测和分布式传感,仅需一根传感光纤,更为经济便捷;传感光纤体积小、重量轻、可形变,适用于一些特殊应用场所;还有无需供电、耐高温、便于组网等等优点 光纤传感器的感知信号的方法:当探测光入射到光纤中时会发生散射并产生各种散射光...

qq_36045093的博客 2万+

软件技术基础与开发 PPT - Class06 - 第2章 - 上机 - 线性表顺序存储结构的实现

要求 参考答案 sq_LList.h头文件 注意把成员函数的实现也写在了头文件里,因为这里是模板类,如果写在cpp里会出现编译报错的情况。 // sq_LList.h #ifndef sq_LList_h #define sq_LList_h #include <iostream> using namespace std; template<class T> clas...

meiguanhua的博客 320

手把手教你搞定CAC会议投稿:从LaTeX模板到PDF eXpress避坑全流程

本文详细解析CAC会议投稿全流程,重点介绍LaTeX模板调整、Turnitin查重技巧及PDF eXpress校验避坑指南。通过实战案例和代码示例,帮助研究者高效完成IEEE格式论文投稿,避免常见技术性失误,提升投稿成功率。

weixin_29969209的博客 397

电荷灵敏前置放大器噪声优化策略:从理论到实践

本文深入探讨了电荷灵敏前置放大器的噪声优化策略,从理论分析到实践应用。文章系统解析了并联电流噪声与串联电压噪声的来源,并引入噪声等效原理与“冷电容”模型作为统一分析工具。通过详解a、b、c三类噪声的频谱特性,为实战优化提供了清晰指导。核心策略包括选用高跨导、低漏电流FET,优化静态工作点,采用共源-共基结构,精心设计反馈网络,以及实施严格的PCB布局、屏蔽与接地,旨在全面提升微弱信号检测系统的信噪比。

weixin_29292431的博客 466

list.h使用说明

1     位置 2     数据结构 3     接口 3.1  offsetof 3.2  container_of 3.3  LIST_HEAD_INIT 3.4  LIST_HEAD 3.5  INIT_LIST_HEAD 3.6 _list_add 3.7  list_add 3.8  list_add_tail 3.

lmjjw的专栏 1万+

手把手带你搞懂电压跌落测试DIP

砖一用4分钟时间手把手带你搞懂电压跌落测试DIP,希望对你有用~

qq_45508321的博客 7916

顺序表的基本操作

实验1 顺序表的基本操作 一、实验目的 掌握线性表的顺序存储结构 2.熟练掌握顺序表基本算法的实现 二、实验内容和要求 1.编写一个程序,实现顺序表的各种基本运算,本实验的顺序表元素的类型为char,在主函数中调用顺序表的基本操作完成如下操作: (1)初始化顺序表L (2)依次插入a、b、c、d、e (3)输出顺序表L (4)输出顺序表L的长度 (5)判断顺序表L是否为空 (6)输出顺序表的第3个元素 (7)输出元素a的逻辑位置 (8)在第4个元素位置上插入元素f (9)输出顺序表L (10)删除L的第

m0_55882264的博客 1336

【深度学习】tensorboard中的图片放到论文中

1. 利用tensorboard中的导出数据功能 选中左上角的标签,然后选择csv格式的数据下载即可。 左边的smoothing 数值不影响导出数据的大小。 2.tensorboard 图下标签介绍: 放大 Toggle y-axis log scale:将y轴对数化 Fit domain to data:如果拖动了图片等,再重新回到原始位置 Download Current Chart as SVG 3.用下载下来的csv数据来画图 第一幅图片:训练的平均长度 fig, ax1 = plt.sub

gaocui883的博客 1万+

NVIDIA Isaac ROS - 入门教程(一)

欢迎访问 Isaac ROS,这是一套硬件加速、高性能、低延迟的 ROS 2 软件包,用于制造自主机器人,充分利用 Jetson 和其他英伟达平台的强大功能。英伟达 Jetson 平台运行在基于 Ubuntu Linux 的 JetPack 操作系统上。JetPack 5.x 是在 Ubuntu 20.04 Focal 的基础上构建的,这意味着由 ROS 2 Buildfarm 为 Ubuntu 22.04 Jammy 构建的 ROS 2 Humble 的 Debian 包不受支持。由于官方 ROS 2 B

机器人控制与仿真应用 5721

(C++)类模板(用顺序表实现举例)

模板是什么 模板就是一种对类型进行参数化的工具。 分为两类:函数模板和类模板 现在我们就以顺序表的实现来说明: 类模板 1.格式 template<typename 形参名,typename 形参名,typename 形参名,……> class 类名{ 。。。。。 }; 以template开头,后接模板形参列表(注意形参列表不能为空) 一旦声明类模板后就可以用类模板中的形参名来声明类中的成员变量和成员函数 这里的typename可以和class互换,表达同样的意思 例如: templat

蛟~ 2116

基于STM32、HAL库的TLV320AIC3204IRHBR音频接口芯片驱动程序设计

* 开启所有数字部分 */#define TLV320AIC3204_REG_LEFT_HEADPHONE_OUT_VOLUME 0x0C /* 左声道耳机输出音量 */#define TLV320AIC3204_REG_DIGITAL_AUDIO_PATH_CONTROL 0x05 /* 数字音频路径控制 */#define TLV320AIC3204_REG_ANALOG_HP_FILTER_CONTROL 0x34 /* 模拟耳机滤波器控制 *//* 最大音量 */

corlin6688的博客 520

数据结构第二篇【关于java线性表(顺序表)的基本操作】

本文讲解数据结构第二篇关于顺序表的基本操作

qq_201729558 1832

数据分析案例-2024 年全电动汽车数据集可视化分析

本数据集来源于Kaggle,原始数据集共有177866条数据,17个变量。该数据集显示了目前通过华盛顿州许可部 (DOL) 注册的电池电动汽车 (BEV) 和插电式混合动力电动汽车 (PHEV)。电池电动汽车 (BEV) 是一种全电动汽车,使用一个或多个电池来存储电能,为电机提供动力,并通过将车辆插入电源进行充电。插电式混合动力汽车 (PHEV) 是一种使用一个或多个电池为电动机提供动力的车辆;使用另一种燃料,例如汽油或柴油,为内燃机或其他推进源提供动力;并通过将车辆插入电源来充电。

m0_64336780的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C++ 数据结构:DS顺序表--类实现

题目描述 用C++语言和类实现顺序表 属性包括:数组、实际长度、最大长度(设定为1000) 操作包括:创建、插入、删除、查找 类定义参考 输入 第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据 第2行输入要插入的位置和新数据 第3行输入要插入的位置和新数据 第4行输入要删除的位置 第5行输入要删除的位置 第6行输入要查找的位置 第7行输入要查找的位置 输出 数据之间用空格隔开 第1行输出创建后的顺序表内容,包括顺序表实际长度和数据 每成功执行一次操作(插入或删除),输出执行后的顺序表内容 .

hhhertzzz的博客 2963

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java实现顺序表

提高代码量,理解面向对象思想 线性表(List) 定义: 零个或多个具有相同特性的数据元素的有限序列 常见的线性表有:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构,也就是说是连续的一条直线,但在物理结构上不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储 // An highlighted block var foo = 'bar'; 顺序表: 顺序表是用一段物理地址连续的存储单元依次存储元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删改查,顺序表的底层.

一朵花花 2281

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

DS顺序表--类实现

题目描述 实现顺序表的用C++语言和类实现顺序表 属性包括:数组、实际长度、最大长度(设定为1000) 操作包括:创建、插入、删除、查找 类定义参考 输入 第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据 第2行输入要插入的位置和新数据 第3行输入要插入的位置和新数据 第4行输入要删除的位置 第5行输入要删除的位置 第6行输入要查找的位置 第7行输入要查找的位置 输...

Envymjp的博客 719

python顺序表代码_【数据结构 Python & C++】顺序表

1 //Date:2019.7.312 //Author:Yushow Jue34 #include5 using namespacestd;67 #define MAXSIZE 38 #define Node ElemType9 #define ERROR 010 typedef intDataType;1112 //创建一个节点类13 classNode14 {15 public:16 Dat...

weixin_39683863的博客 125

数据结构笔记——顺序表的基本操作实现(c++实现)

顺序表的基本操作实现 文章目录 顺序表的基本操作实现 线性表顺序表的基本形式顺序表的实现 线性表   在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。   对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。   这样的一组序列元素的组织形式,我们可以将其抽象为线性表.

算算的博客 772

数据结构Java(一)实验一 顺序表基本操作的实现

通过本次实验,学习了线性表和线性表的一些基本操作以及了解了顺序表的应用。本次实验是本科目的第一个实现,进行的途中有一些问题,在经历了和室友的讨论和查阅书籍资料最后的到了解决。⒈设计一个顺序表类,要求:类成员函数包括插入、删除、取数据元素、求数据个数、是否空。⒈ 硬件:每个学生需配备计算机一台。操作系统: Windows;⒉ 软件: Windows操作系统+Myeplips;⒉设计一个测试主函数验证类成员函数的正确性。

Annzz123的博客 984

java 实现顺序表结构

通过java实现顺序表 1.接口类 package com.listArray.inter; public interface List { public boolean isEmpty(); public void insert(int index,Object element) throws Exception; public Object remove (int i) t...

weixin_43840862的博客 922

java实现顺序表以及顺序表的合并

这里使用数组实现的顺序表 因为用c语言写过了,所以这里只是简单的实现了一下功能 public class SqList { int maxsize=100;//顺序表最大长度 int[] elemtype;//数组 int length;//顺序表长度 //构造一个空的顺序表 public SqList() { this.elemtype = new int[maxsize...

qq_41586013的博客 1849

java实现的顺序表

java实现的顺序表 (1)List接口 public interface List<E> { public int getSize(); public boolean isEmpty(); public void add(int index,E e); public void addFirst(E e); public void addLast(E e); p...

Hello什么来着? 292

1 顺序表的基本操作

mmx2010的专栏 1752
下一篇: 顺序栈的实现和操作
Scofield-
博客等级 码龄14年 12粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值