-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlist_array.h
30 lines (28 loc) · 957 Bytes
/
list_array.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once
#include "basic_list.h"
#include "list_node.h"
#include <vector>
class list_array :
public basic_list<list_node_array>
{
public:
list_array() {};
list_array(std::vector<list_node_array> _values);
virtual void append(list_node_array* element) override;
virtual void insert(list_node_array* element, int position_after) override;
virtual list_node_array* getByNumber(int position) override;
virtual void swap(list_node_array* left, list_node_array* right) override;
virtual void remove(int position) override;
virtual int length() override { return _array.size(); }
virtual void sort() override;
virtual std::string to_string() override;
bool checkConsitency();
int indexOfPointer(list_node_array* ptr);
virtual void task1() override;
virtual void defence() override;
private:
std::vector<list_node_array> _array = std::vector<list_node_array>();
list_node_array* head = nullptr;
int _length = 0;
int headNumber = 0;
};