当前位置: 首页 > news >正文

营销网站建设都是专业技术人员吗开发一个网站需要哪些技术

营销网站建设都是专业技术人员吗,开发一个网站需要哪些技术,医院做网站备案都需要什么,做网站内容图片多大系列文章目录 文章目录 系列文章目录前言list_node<T>&#xff08;节点&#xff09;_list_iterator<T, Ref, Ptr>&#xff08;迭代器&#xff09;成员变量构造函数运算符重载 List<T>&#xff08;链表&#xff09;成员变量构造函数析构函数区间构造函数拷贝构…

系列文章目录


文章目录

  • 系列文章目录
  • 前言
  • list_node<T>(节点)
  • _list_iterator<T, Ref, Ptr>(迭代器)
    • 成员变量
    • 构造函数
    • 运算符重载
  • List<T>(链表)
    • 成员变量
    • 构造函数
    • 析构函数
    • 区间构造函数
    • 拷贝构造
    • 赋值重载
    • Modifiers(修改器)
    • list的迭代器失效


前言

模拟实现list类


STL3.0(SGI版本)

list_node(节点)

//节点类
template<class T>
struct list_node
{//成员变量list_node<T>* _next;list_node<T>* _prev;T _data;//构造函数list_node(cosnt T& x = T()):_next(nullptr), _prev(nullptr),_data(x){}
};

_list_iterator<T, Ref, Ptr>(迭代器)

成员变量

  template<class T, class Ref, class Ptr>struct _list_iterator{//用类来封装node*typedef list_node<T> node;typedef _list__iterator<T, Ref, Ptr> self;node* _node;};

构造函数

//构造函数
_list_iterator(node* n):_node(n)
{}

运算符重载

//Iterator
Ref operator*()
{return _node->_data;
}Ptr operator->()
{//it->_a1 => it->->_a1;return &_node->_data;
}self& operator++()
{_node = _node->_next;return *this;
}self& operator++(int)
{self tmp(*this);_node = _node->_next;return tmp;
}self& operator--()
{_node = _node->_prev;return *this;
}self& operator--(int)
{self tmp(*this);_node = _node->_prev;return tmp;
}bool operator !=(const self& s)
{return _node != s._node;
}bool operator ==(const self& s)
{return _node == s._node;
}

List(链表)

成员变量

template<class T>
class list
{typedef list_node<T> node;public:typedef _list_iterator<T, T&, T*> iterator;typedef _list_iterator<T, const T&, const T*>const_iterator;private:node* _head;//节点指针
};

构造函数

void empty_init()
{//创建头节点_head = new node;_head->_next = _head;_head->_prev = _head;
}list()
{empty_init();
}

析构函数

//析构函数
~list()
{	clear();//释放头节点delete _head;_head = nullptr;
}

区间构造函数

template <class Iterator>
list(Iterator first, Iterator last)
{empty_init();while (first != last){push_back(*first);++first;}
}

拷贝构造

void swap(list<T>& lt)
{std::swap(_head, lt._head);
}list(const list<T>& lt)
{empty_init();list<T> tmp(lt.begin(), lt.end());swap(tmp);
}

赋值重载

list<T>& operator=(list<T> tmp)
{swap(tmp);return *this;
}

Modifiers(修改器)

void push_back(cosnt T& x)
{insert(end(), x);
}void push_front(const T& x)
{insert(begin(), x);
}void insert(iterator pos, const T& x)
{node* cur = pos._node;node* prev = cur->_prev;node* new_node = new node(x);prev->_next = new_node;new_node->_prev = prev;new_node->_next = cur;cur->_prev = new_node;
}iterator erase(iterator pos)
{assert(pos != end());//头节点不能删node* prev = pos._node->_prev;node* next = pos._node->_next;prev->_next = next;next->_prev = prev;delete pos._node;//删除节点后,返回后一个节点迭代器return iterator(next);
}void clear()
{iterator it = begin();while (it != end()){erase(it++);}
}void pop_back()
{erase(--end);
}
void pop_front()
{erase(begin());
}

list的迭代器失效

void TestListIterator1()
{int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };list<int> l(array, array + sizeof(array) / sizeof(array[0]));auto it = l.begin();while (it != l.end()){// erase()函数执行后,it所指向的节点已被删除,因此it无效,在下一次使用it时,必须先给其赋值l.erase(it);++it;}
}
// 改正
void TestListIterator()
{int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };list<int> l(array, array + sizeof(array) / sizeof(array[0]));auto it = l.begin();while (it != l.end()){l.erase(it++); // it = l.erase(it);}
}
http://www.yidumall.com/news/77847.html

相关文章:

  • 金融网站建设网站排名软件优化
  • 日本室内设计网站大全360收录提交入口
  • 2018年做视频网站seo教程技术
  • 长春企业网站建设湖南网站营销seo方案
  • 网站插入qqapp线下推广怎么做
  • 有男女做暖暖的视频网站百度的网站
  • 绿色建筑网站世界杯32强排名
  • 网站编辑给续南明做的封面全网营销系统怎么样
  • 如何编辑网站源代码竞价排名
  • 如何做电影网站狼视听重庆企业免费建站
  • 游戏网站建设与策划个人在线做网站免费
  • 厦门建设局公维金网站鹤岗网站seo
  • mysql做镜像网站百度广告联盟价格
  • 延庆b2c网站制作价格seo广告优化
  • 武汉网站优化推广网络推广工作内容怎么写
  • 做英文网站的公司国家市场监督管理总局官网
  • 江阴市建设局官网站想做推广哪个平台好
  • 武汉网站制作定制去了外包简历就毁了吗
  • 旅游网站建设目标分析上海谷歌seo推广公司
  • 做自己的网站如何赚钱的深圳推广服务
  • 专业做律师网站的公司吗网站域名查询网
  • 美食网站主页怎么做seo案例分析方案
  • 网页设计课程主要内容百度seo和sem
  • 影视文化网站建设全国互联网营销大赛官网
  • 站长联盟网站底部友情链接
  • 易语言做网站爆破工具国内搜索引擎优化的公司
  • 网站会员体系方案广告公司排名
  • 福州公司注册代办营业执照白帽seo公司
  • 山东泰山新闻seo优化需要多少钱
  • 网站建设与管理提纲如何免费做网站网页