//顺序表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等)
//头文件
#pragma once
#include <iostream>
using namespace std;
template<class Type>
class SeqList
{
public:
SeqList(size_t sz = INIT_SIZE);
~SeqList();
public:
bool isfull() const
{return size >= capacity; }
bool isempty() const
{return (size == 0); }
public:
void show_list();
void push_front(const Type &x);
void push_back(const Type &x);
void insert_pos(int pos,const Type &x);
int find(const Type &key);
void pop_front();
void pop_back();
void sort();
void insert_val(const Type &x);
void delete_pos(int pos);
void delete_val(const Type &x);
int length();
void clear();
void destory();
void reverse();
void quit_system(int &a);
private:
enum{ INIT_SIZE = 8 };
Type *base;
size_t capacity;
size_t size;
};
template<class Type> //构造函数
SeqList<Type>::SeqList(size_t sz)
{
capacity = sz > INIT_SIZE ? sz : INIT_SIZE;
base = new Type[capacity];
size = 0;
}
template<class Type> //析构函数
SeqList<Type>::~SeqList()
{
delete base;
}
template<class Type> //显示
void SeqList<Type>::show_list()
{
if (size == 0)
{
cout << "数据表为空。" << endl;
return;
}
for (int i = 0; i<size; ++i)
{
cout << base[i] << " ";
}
cout << endl;
}
template<class Type> //头插
void Se
【数据结构】用C++实现顺序表的各种操作(包括头删,尾删,插入,逆序,摧毁,清空等等)
最新推荐文章于 2023-07-02 21:52:20 发布