C++リニアテーブルの実装
1682 ワード
線形テーブルは、n個の同じ要素からなる規則的で限られた集合であり、ここではVectorクラスで表現し、挿入、削除、印刷の操作を追加し、境界問題に重点を置いて線形テーブルをよりよく理解することができる.
コードブロックの使用方法は、4つのスペースまたは2つのtabです.```ではブロックが繋がらない.
結果:
コードブロックの使用方法は、4つのスペースまたは2つのtabです.```ではブロックが繋がらない.
#include
using namespace std;
class Vector {
// size ,length ,data
private: int size, length;
int *data;
public:
// Vector(int input_size) {
size = input_size;
length = 0;
data = new int[size];
}
// '~' delete ,delete[]
~Vector() {
delete[] data;
}
//
bool insert(int loc, int value) {
// loc
if (loc < 0 || loc > length) {
return false;
}
// , , ,
if (length >= size) {
return false;
}
for (int i = length; i > loc; i--) {
data[i] = data[i - 1];
}
data[loc] = value;
length++;
return true;
}
bool remove(int loc) {
if (loc < 0 || loc >= length) {
return false;
}
for (int i = loc; i < length - 1; i++) {
data[i] = data[i + 1];
}
length--;
return true;
}
void print() {
cout << " :\t";
for (int i = 0; i < length; i++) {
cout << data[i] << " ";
}
cout << endl;
}
};
int main() {
Vector v(10);
v.insert(0, 1);
v.insert(1, 2);
v.insert(1, 3);
v.print();
v.remove(1);
v.print();
}
結果:
: 1 3 2
: 1 2