本文使用C++实现了一个线性表(数组描述)。该程序由三个文件构成,第一部分是头文件,头文件首先定义了一个抽象的线性表类,该抽象类中定义了绝大部分线性表的成员函数,其中包括:
- 确定线性表是否为空
- 按一个给定的索引查找元素
- 按一个给定元素查找其索引
- 按索引删除元素
- 按索引插入元素
- 遍历输出该线性表
第二个类继承该抽象类,定义了四个私有成员,包括定义数组,定义数组长度,定义线性表长度以及一个检查该线性表是否为空的函数。公有成员里面分别定义了一个vector函数和对象,用来输出该数组。第二部分是成员函数定义,第三部分是测试代码。整个程序使用Xcode编译。其中,头文件源码如下:
//
// Linear_List.hpp
// Linear_List
//
// Created by lq on 2019/9/1.
// Copyright © 2019 Mr.liang. All rights reserved.
//
#ifndef Linear_List_hpp
#define Linear_List_hpp
#include <vector>
#include <iostream>
using namespace std;
class linearList
{
public:
virtual ~linearList()
{
}
virtual bool judge_empty() const = 0;//return true if empty
virtual int size_list() const = 0;//return numbers of elements
virtual int & get(int index) const = 0;