• 数据结构(一)线性表(模板实现)


    线性表( Linear List )的定义

    线性表是零个或多个具有相同类型的数据元素的有限序列。 数据元素的个数定义为线性表的 长度 。长度等于零时称为空表,一个非空表通常记为 L = ( a 1 , a 2 ,……, a n ) 其中, a i ( 1 ≤ i ≤ n )称为数据元素, 下标 i 表示该元素在线性表中的位置或序号, 称元素 a i 位于表的第 i 个位置,或称 a i 是表中的第 i 个元素。

     1.顺序表

    特点:

    线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,

    作用:

    线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系。

    顺序存储的实现:一维数组存储顺序表中的数据

     设顺序表的每个元素占用 c 个存储单元,则第 i 个元素的存储地址为:

    LOC ( a i ) = LOC ( a 1 ) + ( i - 1 ) × c

    实现:

    1. #include
    2. using namespace std;
    3. const int MaxSize = 100;
    4. template <typename T>
    5. class SeqList
    6. {
    7. private:
    8. T data[MaxSize]; //存放元素
    9. int length; //线性表长度
    10. public:
    11. SeqList();
    12. SeqList(T a[], int n);
    13. ~SeqList();
    14. int Length();
    15. T Get(int i);
    16. int Locate(T x);
    17. void insert(int i, T x);
    18. T Delete(int i);
    19. void Display();
    20. };
    21. template<typename T>
    22. SeqList::SeqList()
    23. {
    24. int n;
    25. cin >> n;
    26. for (int i = 0; i < n; i++)
    27. {
    28. cin >> data[i];
    29. }
    30. length = n;
    31. }
    32. template<typename T>
    33. SeqList::SeqList(T a[], int n)
    34. {
    35. if (n < MaxSize)
    36. {
    37. throw "参数非法";
    38. }
    39. else
    40. {
    41. for (int i = 0; i < n; i++)
    42. {
    43. data[i] = a[i];
    44. length = n;
    45. }
    46. }
    47. }
    48. template<typename T>
    49. SeqList::~SeqList()
    50. {
    51. }
    52. template<typename T>
    53. int SeqList::Length()
    54. {
    55. return length;
    56. }
    57. template<typename T>
    58. T SeqList::Get(int i)
    59. {
    60. if (i<1 && i>length)
    61. {
    62. throw "查找位置非法";
    63. }
    64. els
  • 相关阅读:
    kafka消息丢失解决方案
    Raven2靶机渗透
    [工业自动化-13]:西门子S7-15xxx编程 - 分布式从站 - 硬件配置
    AI:11-基于深度学习的鱼类识别
    OpenFeign服务接口调用
    altera FPGA 程序固化命令
    3、树(上篇)
    抽象类与接口
    剑指offer(C++)-JZ39:数组中出现次数超过一半的数字(算法-其他)
    [机缘参悟-39]:鬼谷子-第五飞箝篇 - 警示之二:赞美的六种类型,谨防享受赞美快感如同鱼儿享受诱饵。
  • 原文地址:https://blog.csdn.net/qq_64246637/article/details/127109017