提交 88f30dbb 编写于 作者: 邹晓航

code clean

上级 9a13d7ac
......@@ -154,8 +154,8 @@ namespace TinySTL{
void avl_tree<T>::insert_elem(const T& val, node *&p){
if (p == 0){
p = dataAllocator::allocate();
//p->data_ = val;
construct(&(p->data_), val);
dataAllocator::construct(p);
p->data_ = val;
p->left_ = p->right_ = 0;
p->height_ = 1;
++size_;
......
......@@ -137,9 +137,8 @@ namespace TinySTL{
void binary_search_tree<T>::insert_elem(const T& val, node *&ptr){//重复的元素不插入
if (ptr == 0){
ptr = nodeAllocator::allocate();
TinySTL::construct(&(ptr->data_), val);
//memset(ptr, 0, sizeof(node));
//ptr->data_ = val;
nodeAllocator::construct(ptr);
ptr->data_ = val;
ptr->left_ = ptr->right_ = 0;
++size_;
}
......
......@@ -44,10 +44,6 @@ namespace TinySTL{
template<class T>
template<class InputIterator>
void list<T>::insert_aux(iterator position, InputIterator first, InputIterator last, std::false_type){
//for (; first != last; ++first){
// insert(position, *first);
// position = insert(position, *first);
//}
for (--last; first != last; --last){
position = insert(position, *last);
}
......@@ -56,18 +52,13 @@ namespace TinySTL{
template<class T>
typename list<T>::nodePtr list<T>::newNode(const T& val = T()){
nodePtr res = nodeAllocator::allocate();
res->container = this;
//res->data = val; //-> bug
//nodeAllocator::construct(&(res->data), val);
TinySTL::construct(&(res->data), val);//fix
res->prev = nullptr;
res->next = nullptr;
nodeAllocator::construct(res, Detail::node<T>(val, nullptr, nullptr, this));
return res;
}
template<class T>
void list<T>::deleteNode(nodePtr p){
p->prev = nullptr;
p->next = nullptr;
p->prev = p->next = nullptr;
nodeAllocator::destroy(p);
nodeAllocator::deallocate(p);
}
template<class T>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册