顺序表《Sqlist》
Sqlist
线性表的实现
步骤:
1.申请空间:使用new申请
2.打印顺序表:循环来打印,循环中i的值小于长度
3.插入元素:长度加1,在插入的之后每个值的下标都+1,也就是向后移动一个位置。判断空间是否满,判断插入元素是否符合。
4.删除元素:长度减一,在删除之后的每个值向前移动一个位置,也就是在删除元素之后都向前移动一个位置。判断空间是否空,判断插入元素是否符合。
代码:
1 #include<iostream>
2 using namespace std;
3
4 template<class Type>
5 class Sqlist
6 {
7 public:
8 Sqlist()
9 {
10 mm = 0;
11 nn = 0;
12 return;
13 }
14 Sqlist(int ); //申请空间
15 void prt_Sqlist(); //顺序输出元素和长度
16 int flag_Sqlist(); //检测顺序表的状态
17 void insert_Sqlist(int ,Type); //插入元素
18 void del_Sqlist(int); //删除元素
19 private:
20 int mm; //空间存储量
21 int nn; //顺序表长度
22 Type *v; //顺序表存储首地址
23 };
24
25 //建立顺序表
26 template<class Type>
27 Sqlist<Type>::Sqlist(int m)
28 {
29 mm = m;
30 v = new Type[mm];
31 nn = 0;
32 return ;
33 }
34
35 //顺序输出元素的长度
36 template<class Type>
37 void Sqlist<Type>::prt_Sqlist()
38 {
39
40 cout<<"nn="<<nn<<endl;
41 for(int i=0;i<nn;i++)
42 cout<<v[i]<<endl;
43 }
44
45 //检测顺序表的状态
46 template<class Type>
47 int Sqlist<Type>::flag_Sqlist()
48 {
49 if(nn = mm)
50 return -1;
51 if(nn == 0)
52 return 0;
53 return 1;
54 }
55
56 //插入元素
57 template<class Type>
58 void Sqlist<Type>::insert_Sqlist(int i,Type b)
59 {
60 int k;
61 if(nn == mm)
62 cout<<"FULL!"<<endl;
63 if(i>nn)
64 i = nn+1;
65 if(i<nn)
66 i=1;
67 for(k==nn;k>=i;k--)
68 v[k] = v[k-1];
69 v[i-1] = b;
70 nn = nn+1;
71 return ;
72 }
73
74 //删除制定元素
75
76 template<class Type>
77 void Sqlist<Type>::del_Sqlist(int i)
78 {
79 int k;
80 if(nn == 0)
81 {
82 cout<<"NULL!"<<endl;
83 }
84 if(i>nn || i<1)
85 {
86 cout<<"NO have this num"<<endl;
87 }
88 for(k=i;k<nn;k++)
89 v[k-1] = v[k];
90 nn = nn-1;
91 return ;
92
93 }
Main()
1 #include"Sqlist.h"
2
3 int main()
4 {
5 Sqlist<int>s1(100); //容量为100
6 cout<<"第一次输出顺序表对象S1:"<<endl;
7 s1.prt_Sqlist();
8 s1.insert_Sqlist(1,2);
9 s1.insert_Sqlist(2,3);
10 s1.insert_Sqlist(3,4);
11 s1.insert_Sqlist(4,5);
12 cout<<"插入后:"<<endl;
13 s1.prt_Sqlist();
14 s1.del_Sqlist(2);
15 cout<<"删除后:"<<endl;
16 s1.prt_Sqlist();
17 }
顺序表《Sqlist》相关推荐
- 顺序表Sqlist.cpp
顺序表Sqlist.cpp 文章目录 顺序表Sqlist.cpp 1 顺序表插入逻辑 2 顺序表删除逻辑 3 代码演示 4 运行结果 1 顺序表插入逻辑 在表的第 i 个位置前插入一个元素 实现步骤: ...
- 数据结构 创建顺序表
3.18数据结构--创建顺序表 运行结果截图: #define _CRT_SECURE_NO_WARNINGS #define MAXSIZE 100 #include<stdio.h> ...
- 顺序表(线性表的顺序存储)---C语言版
目录 顺序表 一.顺序表的定义 二.顺序表上基本操作的具体实现 1.`InitList_Sq(*L)`:初始化表.构造一个空的顺序表. 分类一:主函数里声明的是一个指向顺序表的指针 分类二:主函数里声 ...
- 6-2 有序顺序表的插入
本题要求实现递增顺序表的有序插入函数.L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, ElemType e)用于向顺序表中按递增的顺序 ...
- 顺序表——有序顺序表的插入
本题要求实现递增顺序表的有序插入函数.L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, ElemType e)用于向顺序表中按递增的顺序 ...
- 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换
顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使用自行设计的顺序表ADT或STL中的ve ...
- 非递减有序排列C语言,非递减有序顺序表的排序
由于编者水平有限,如有错误,请多多包涵. /* File name: Example.cpp Description: 非递减有序线性表LA, 非递减有序线性表LB, 要求排序后存放在LC中,且LC元 ...
- 顺序表的查找C语言数据结构
在顺序表中查找元素 大致代码片有注释,若还有疑问,可进行评论 #include<stdio.h> #include<stdlib.h>#define Maxsize 10 // ...
- c语言顺序表所需的头文件,数据结构【顺序表】
1.线性表定义 线性表是一种线性结构.线性结构的特点是数据元素之间是一种线性关系,数据元素"一个接一个的排列".在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据 ...
- 6-2 有序顺序表的插入 (10 分)
6-2 有序顺序表的插入 (10 分) 本题要求实现递增顺序表的有序插入函数.L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, Elem ...
最新文章
- MYSQL密码解密函数的使用
- java tomcat mysql_java+tomcat+mysql实现登录界面基本思路
- 深度学习笔记6:Learning color features with Sparse Autoencoders
- 新兴机器学习算法:在线学习
- 多个php 链接数据库,ThinkPHP实现多数据库连接的解决方法
- [转载] Java静态绑定与动态绑定
- pc控制iphone的软件_iPhone照片视频传输及HEIC照片转档
- 算法提高 陶陶摘苹果2(java)
- 【爬虫剑谱】一卷1章 软件篇-Mongodb的安装及配置
- java线程协作_java线程系列之三(线程协作)
- Xilisoft iPad Magic Platinum for Mac一键下载在线视频并将其转换为 iPad?
- ojdbc7、8在maven环境中的配置异常及处理
- 如何通过供应商分类来提高采购绩效?
- 故障:笔记本电脑部分按键失效
- Mixpanel接入
- (NO.00005)iOS实现炸弹人游戏(一):游戏的整体规划设计
- iOS: 设置背景颜色为渐变
- Shell修改IP地址
- javaScript 实现表格table分页
- 如何成为小型咖啡店的优秀老板?需具备这6个特质