C++ day6

目录

思维导图

整理课上vector的代码

利用模板类完成顺序表


思维导图

整理课上vector的代码

#include 
#include 
using namespace std;

int main()
{
    vector v1;
    vector v2(5,10);

    cout << "判断V1是否为空:" <::iterator it;  //定义一个指向int类型元素的迭代器it
    unsigned int i = 0;
    for(i=0,it=v1.begin();i

利用模板类完成顺序表

#include 
using namespace std;

template 
class SeqList
{
private:
    T* data;      // 存放元素的数组
    int maxSize;  // 顺序表的最大容量
    int len;      // 顺序表的当前长度
public:
    SeqList(int size)//构造函数
    {
        maxSize = size;
        data = new T[maxSize];
        len = 0;
    }
    
    ~SeqList() //析构函数
    {
        delete data;
    }
    
    int length() //顺序表的当前长度
    {
        return len;
    }
    
    bool rear_insert(const T &element)//尾插
    {
        if(len==maxSize)
        {
            cout << "顺序表已满" << endl;
            return false;
        }
        data[len]=element;
        len++;
        return true;
    }
    
    bool rear_delete() //尾删
    {
        if(len==0)
        {
            cout << "顺序表为空" << endl;
            return false;
        }
        len--;
        return true;
    }
    bool pos_insert(int pos, const T &element) {   //按位置插入
        if (pos < 0 || pos > len || len == maxSize)
        {
            return false;
        }
        for (int i = len - 1; i >= pos; i--)
        {
            data[i + 1] = data[i];
        }
        data[pos] = element;
        len++;
        return true;
    }
    
    bool delete_pos(int pos) {  //按位置删除
        if (pos < 0 || pos >= len)
        {
            return false;
        }
        for (int i = pos; i < len - 1; i++)
        {
            data[i] = data[i + 1];
        }
        len--;
        return true;
    }
    
    void show()  //遍历
    {  
        if(len==0)
        {
            cout << "顺序表为空" << endl;
        }else
        {
            for (int i = 0; i < len; i++)
            {
                cout << data[i] << " ";
            }
            cout << endl;
        }
    }
};

int main() {
    SeqList list(10);
    list.pos_insert(0, 1);
    list.pos_insert(1, 2);
    list.pos_insert(2, 3);
    list.rear_insert(5);
    list.show();
    list.rear_delete();
    list.delete_pos(1);
    list.show();
    
    
    return 0;
}

你可能感兴趣的:(c++,开发语言)