Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
1a06d0a
Update README.md
ilya41299 Mar 16, 2018
5782fed
Update vector.cpp
ilya41299 Mar 16, 2018
f684adf
Update vector.cpp
ilya41299 Mar 16, 2018
f0b8085
Update vector.cpp
ilya41299 Mar 16, 2018
fb4d08f
Update vector.cpp
ilya41299 Mar 16, 2018
0734cc0
Update vector.cpp
ilya41299 Mar 16, 2018
55d8ff3
Update vector.cpp
ilya41299 Mar 16, 2018
1c95c1b
Update vector.cpp
ilya41299 Mar 16, 2018
89c597a
Update vector.cpp
ilya41299 Mar 16, 2018
55879f6
Update vector.cpp
ilya41299 Mar 16, 2018
c0290d8
Update vector.cpp
ilya41299 Mar 16, 2018
d92d243
Update vector.cpp
ilya41299 Mar 16, 2018
4495aa3
Update vector.cpp
ilya41299 Mar 16, 2018
179f7b5
Update vector.cpp
ilya41299 Mar 16, 2018
38d1f5a
Update vector.cpp
ilya41299 Mar 22, 2018
6ff6feb
Update vector.hpp
ilya41299 Mar 22, 2018
c974cac
Update vector.hpp
ilya41299 Mar 22, 2018
318b0ea
Update vector.hpp
ilya41299 Mar 22, 2018
181764f
Update vector.cpp
ilya41299 Mar 22, 2018
f71d317
Update vector.hpp
ilya41299 Mar 22, 2018
ac408dd
Update vector.hpp
ilya41299 Mar 22, 2018
cc9ef7a
Update vector.hpp
ilya41299 Mar 22, 2018
707a96a
Update vector.cpp
ilya41299 Mar 22, 2018
bdda921
Update vector.cpp
ilya41299 Mar 22, 2018
86d831a
Update vector.hpp
ilya41299 Mar 22, 2018
5700329
Update vector.hpp
ilya41299 Mar 22, 2018
61229b5
Update vector.cpp
ilya41299 Mar 22, 2018
6a21ac6
Update vector.hpp
ilya41299 Mar 22, 2018
73e074b
Update vector.hpp
ilya41299 Mar 22, 2018
2321bd8
Update vector.hpp
ilya41299 Mar 22, 2018
6ec7926
Update vector.hpp
ilya41299 Mar 22, 2018
2504d9f
Update vector.hpp
ilya41299 Mar 22, 2018
8707c52
Update vector.hpp
ilya41299 Mar 22, 2018
a2efdbd
Update vector.cpp
ilya41299 Mar 22, 2018
7ca843a
Update vector.cpp
ilya41299 Mar 22, 2018
b88a5e0
Update vector.hpp
ilya41299 Mar 23, 2018
4d30005
Update vector.hpp
ilya41299 Mar 23, 2018
e406208
Update vector.hpp
ilya41299 Mar 23, 2018
93b9fcf
Update vector.hpp
ilya41299 Mar 23, 2018
18f0dcf
Update vector.hpp
ilya41299 Mar 23, 2018
d6c65d0
Update vector.hpp
ilya41299 Mar 29, 2018
d96801c
Update vector.hpp
ilya41299 Mar 29, 2018
0e7e21d
Update vector.hpp
ilya41299 Mar 29, 2018
764d084
Update vector.hpp
ilya41299 Mar 29, 2018
8f2b52c
Update vector.cpp
ilya41299 Mar 29, 2018
fb2f70c
Update vector.hpp
ilya41299 Mar 29, 2018
41314b7
Update vector.cpp
ilya41299 Mar 29, 2018
a66bc24
Update vector.cpp
ilya41299 Mar 29, 2018
e184c32
Update vector.hpp
ilya41299 Mar 29, 2018
e165987
Update vector.hpp
ilya41299 Mar 29, 2018
2fc39e9
Update vector.cpp
ilya41299 Mar 29, 2018
03b4308
Update vector.cpp
ilya41299 Mar 29, 2018
8158e5f
Update vector.cpp
ilya41299 Mar 29, 2018
de15b21
Update vector.cpp
ilya41299 Mar 29, 2018
dc70972
Update vector.cpp
ilya41299 Mar 29, 2018
3bb8256
Update vector.hpp
ilya41299 Mar 29, 2018
356262e
Update vector.hpp
ilya41299 Mar 29, 2018
8f6e624
Update vector.hpp
ilya41299 Mar 29, 2018
1493bf5
Update vector.hpp
ilya41299 Mar 29, 2018
fb4dc36
Update vector.hpp
ilya41299 Mar 29, 2018
275153c
Update vector.cpp
ilya41299 Mar 29, 2018
868ecb9
Update vector.cpp
ilya41299 Mar 29, 2018
0994069
Update vector.hpp
ilya41299 Mar 29, 2018
a02952f
Update vector.cpp
ilya41299 Mar 29, 2018
83413de
Update vector.hpp
ilya41299 Mar 30, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.org/justcppdev/vector_example.svg?branch=master)](https://travis-ci.org/justcppdev/vector_example)
[![Build Status](https://travis-ci.org/ilya41299/vector_example.svg?branch=master)](https://travis-ci.org/ilya41299/vector_example)

```
cmake -H. -B_builds -DBUILD_TESTS=ON
Expand Down
162 changes: 145 additions & 17 deletions include/vector.hpp
Original file line number Diff line number Diff line change
@@ -1,27 +1,155 @@
#include <iostream>

class vector_t
class tree_t
{
private:
int * elements_;
std::size_t size_;
std::size_t capacity_;
struct node_t
{
node_t* left = nullptr;
node_t* right = nullptr;
int value = 0;
};

private:
node_t* root_;

public:
vector_t();
vector_t(vector_t const & other);
vector_t & operator =(vector_t const & other);
~vector_t();
tree_t()
{
root_ = nullptr;
}
node_t* root()
{
return root_;
}

std::size_t size() const;
std::size_t capacity() const;
void check_operator(std::ostream& stream, char op, int value)
{
switch (op)
{
case '+':
{
insert(value);
break;
}
case '?':
{
if(find(value))
{
stream << "true";
}
else stream << "false";
break;
}
case '=':
{
print(stream, 0, root_);
break;
}
case 'q':
{
exit(0);
break;
}
default:
{
stream <<"Error of use operator";
}
}
}

void push_back(int value);
void pop_back();
void insert(int value)
{
node_t* node = new node_t;
node->value = value;
node->right = nullptr;
node->left = nullptr;
if (root_ == nullptr)
{
root_ = node;
return;
}

int & operator [](std::size_t index);
int operator [](std::size_t index) const;
node_t* vetka = root_;
while (vetka != nullptr)
{
if (vetka->value < value)
{
if (vetka->right != nullptr)
{
vetka = vetka->right;
}
else
{
vetka->right = node;
return;
}
}
else if (vetka->value > value)
{
if (vetka->left != nullptr)
{
vetka = vetka->left;
}
else
{
vetka->left = node;
return;
}
}
else
return;
}
}
bool find(int value) const
{
node_t* node = root_;
while (node != nullptr)
{
if (node->value == value)
{
return true;
}
else
{
if (value <= node->value)
{
node = node->left;
}
else
node = node->right;
}
}
return false;
}

bool operator ==(vector_t const & other) const;
};
void print(std::ostream& stream, int level, node_t* node)
{
if (node == nullptr)
return;

bool operator !=(vector_t const & lhs, vector_t const & rhs);
print(stream, level + 1, node->right);

for (unsigned int i = 0; i < level; i++)
{
stream << "---";
}
stream << node->value << std::endl;

print(stream, level + 1, node->left);
}

void destroy(node_t* node)
{
if (node != nullptr)
{
destroy(node->left);
destroy(node->right);
delete node;
}
}
~tree_t()
{
destroy(root_);
}
};
58 changes: 0 additions & 58 deletions sources/vector.cpp
Original file line number Diff line number Diff line change
@@ -1,59 +1 @@
#include <algorithm>
#include <cassert>

#include "vector.hpp"

vector_t::vector_t()
{
}

vector_t::vector_t(vector_t const & other)
{
}

vector_t & vector_t::operator =(vector_t const & other)
{
return *this;
}

bool vector_t::operator ==(vector_t const & other) const
{
return false;
}

vector_t::~vector_t()
{
}

std::size_t vector_t::size() const
{
return 0;
}

std::size_t vector_t::capacity() const
{
return 0;
}

void vector_t::push_back(int value)
{
}

void vector_t::pop_back()
{
}

int & vector_t::operator [](std::size_t index)
{
return elements_[0];
}

int vector_t::operator [](std::size_t index) const
{
return 0;
}

bool operator !=(vector_t const & lhs, vector_t const & rhs)
{
return true;
}
Loading