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》相关推荐

  1. 顺序表Sqlist.cpp

    顺序表Sqlist.cpp 文章目录 顺序表Sqlist.cpp 1 顺序表插入逻辑 2 顺序表删除逻辑 3 代码演示 4 运行结果 1 顺序表插入逻辑 在表的第 i 个位置前插入一个元素 实现步骤: ...

  2. 数据结构 创建顺序表

    3.18数据结构--创建顺序表 运行结果截图: #define _CRT_SECURE_NO_WARNINGS #define MAXSIZE 100 #include<stdio.h> ...

  3. 顺序表(线性表的顺序存储)---C语言版

    目录 顺序表 一.顺序表的定义 二.顺序表上基本操作的具体实现 1.`InitList_Sq(*L)`:初始化表.构造一个空的顺序表. 分类一:主函数里声明的是一个指向顺序表的指针 分类二:主函数里声 ...

  4. 6-2 有序顺序表的插入

    本题要求实现递增顺序表的有序插入函数.L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, ElemType e)用于向顺序表中按递增的顺序 ...

  5. 顺序表——有序顺序表的插入

    本题要求实现递增顺序表的有序插入函数.L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, ElemType e)用于向顺序表中按递增的顺序 ...

  6. 顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换

    顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换 作者: 冯向阳 时间限制: 1S 章节: DS:线性表 问题描述 : 目的:使用自行设计的顺序表ADT或STL中的ve ...

  7. 非递减有序排列C语言,非递减有序顺序表的排序

    由于编者水平有限,如有错误,请多多包涵. /* File name: Example.cpp Description: 非递减有序线性表LA, 非递减有序线性表LB, 要求排序后存放在LC中,且LC元 ...

  8. 顺序表的查找C语言数据结构

    在顺序表中查找元素 大致代码片有注释,若还有疑问,可进行评论 #include<stdio.h> #include<stdlib.h>#define Maxsize 10 // ...

  9. c语言顺序表所需的头文件,数据结构【顺序表】

    1.线性表定义 线性表是一种线性结构.线性结构的特点是数据元素之间是一种线性关系,数据元素"一个接一个的排列".在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据 ...

  10. 6-2 有序顺序表的插入 (10 分)

    6-2 有序顺序表的插入 (10 分) 本题要求实现递增顺序表的有序插入函数.L是一个递增的有序顺序表,函数Status ListInsert_SortedSq(SqList &L, Elem ...

最新文章

  1. MYSQL密码解密函数的使用
  2. java tomcat mysql_java+tomcat+mysql实现登录界面基本思路
  3. 深度学习笔记6:Learning color features with Sparse Autoencoders
  4. 新兴机器学习算法:在线学习
  5. 多个php 链接数据库,ThinkPHP实现多数据库连接的解决方法
  6. [转载] Java静态绑定与动态绑定
  7. pc控制iphone的软件_iPhone照片视频传输及HEIC照片转档
  8. 算法提高 陶陶摘苹果2(java)
  9. 【爬虫剑谱】一卷1章 软件篇-Mongodb的安装及配置
  10. java线程协作_java线程系列之三(线程协作)
  11. Xilisoft iPad Magic Platinum for Mac一键下载在线视频并将其转换为 iPad?
  12. ojdbc7、8在maven环境中的配置异常及处理
  13. 如何通过供应商分类来提高采购绩效?
  14. 故障:笔记本电脑部分按键失效
  15. Mixpanel接入
  16. (NO.00005)iOS实现炸弹人游戏(一):游戏的整体规划设计
  17. iOS: 设置背景颜色为渐变
  18. Shell修改IP地址
  19. javaScript 实现表格table分页
  20. 如何成为小型咖啡店的优秀老板?需具备这6个特质

热门文章

  1. C++教程网编程视频
  2. archlinux使用Windows字体及相关配置
  3. 考研算法笔记(排序)
  4. 神经网络概述【神经网络一】
  5. Spring在单例模式下的线程安全
  6. 用matlab画汽车,用matlab绘制汽车的爬坡度图
  7. 面试必问:一文弄懂MySQL数据库索引之底层数据结构和索引类型
  8. 如何查看ActiveX控件的UUID?
  9. 创建并运行 EMR on EKS 集群
  10. android easyPR车牌识别