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

上海定制化网站开发公司赣州招聘网

上海定制化网站开发公司,赣州招聘网,网页分析案例,做网站需要申请商标哪些类目上章有一些东西当时没学到#xff0c;这里学到了将在补充#xff0c;文章末附上代码#xff0c;思维导图。 目录 一、赋值重载 二、带模板的创建 三、析构函数 四、代码 五、思维导图 一、赋值重载 这里的赋值重载就是直接利用交换函数进行把传参生成的临时数据和需要…上章有一些东西当时没学到这里学到了将在补充文章末附上代码思维导图。 目录 一、赋值重载 二、带模板的创建 三、析构函数 四、代码 五、思维导图 一、赋值重载 这里的赋值重载就是直接利用交换函数进行把传参生成的临时数据和需要进行赋值的交换就可以了代码与测试如下。 listT operator(listT lt)         {             swap(lt);             return *this;         } 二、带模板的创建 这里是直接把初始化单独拿出来做一个函数其他的和上篇文章中写vector差不多都是利用swap去交换临时生成的参数和需要初始化的链表代码和测试结果如图。 void empty_init()         {             _head new node;             _head-_next _head;             _head-_prev _head;         }         void swap(listT tmp)         {             std::swap(_head, tmp._head);         }         list()         {             empty_init();         }         template class Iterator         list(Iterator first, Iterator last)         {             empty_init();             while (first ! last)             {                 push_back(*first);                 first;             }         }         list(const listT lt)         {             empty_init();             listT tmp(lt.begin(), lt.end());             swap(tmp);         } 三、析构函数 这里是写了一个清理的函数就是利用迭代器和后置进行erase掉节点最后再把头节点也就是哨兵位节点删除掉就可以了代码和测试如下。 ~list()         {             clear();             delete _head;             _head nullptr;         }         void clear()         {             iterator it begin();             while (it ! end())             {                 erase(it);             }         } 四、代码 #pragma once #include assert.h namespace ly {templateclass Tstruct list_node{list_nodeT* _next;list_nodeT* _prev;T _data;list_node(const T x T()):_next(nullptr), _prev(nullptr), _data(x){}};templateclass T, class Ref, class Ptrstruct _list_iterator{typedef list_nodeT node;typedef _list_iteratorT, Ref, Ptr self;node* _node;_list_iterator(node* n):_node(n){}Ref operator*(){return _node-_data;}Ptr operator-(){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;}};templateclass Tclass list{public:typedef list_nodeT node;typedef _list_iteratorT, T, T* iterator;typedef _list_iteratorT, const T, const T* const_iterator;void empty_init(){_head new node;_head-_next _head;_head-_prev _head;}void swap(listT tmp){std::swap(_head, tmp._head);}list(){empty_init();}template class Iteratorlist(Iterator first, Iterator last){empty_init();while (first ! last){push_back(*first);first;}}list(const listT lt){empty_init();listT tmp(lt.begin(), lt.end());swap(tmp);}~list(){clear();delete _head;_head nullptr;}void clear(){iterator it begin();while (it ! end()){erase(it);}}listT operator(listT lt){swap(lt);return *this;}iterator begin(){return iterator(_head-_next);}iterator end(){return iterator(_head);}const_iterator begin() const{return const_iterator(_head-_next);}const_iterator end() const{return const_iterator(_head);}void push_back(const T x){insert(end(),x);}void push_front(const T x){insert(begin(), x);}void pop_back(){erase(--end());}void pop_front(){erase(begin());}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;}void 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;}private:node* _head;};void print(listint l){listint::iterator it l.begin();while (it ! l.end()){cout *it ;it;}cout endl;}void Test1(){listint l1;l1.push_back(1);l1.push_back(2);l1.push_back(3);l1.push_back(4);print(l1);l1.push_front(5);l1.push_front(6);l1.push_front(7);l1.push_front(8);print(l1);l1.pop_back();l1.pop_back();print(l1);l1.pop_front();l1.pop_front();print(l1);}void Test2(){listint l1;l1.push_back(1);l1.push_back(2);l1.push_back(3);l1.push_back(4);print(l1);listint l2(l1);print(l2);listint l3(l1.begin(), l1.end());print(l3);}void Test3(){listint l1;l1.push_back(1);l1.push_back(2);l1.push_back(3);l1.push_back(4);listint l2;l2.push_back(10);l2.push_back(20);l2.push_back(30);l2.push_back(40);print(l1);print(l2);l1.swap(l2);print(l1);print(l2);} } 五、思维导图
http://www.pierceye.com/news/214560/

相关文章:

  • 网站开发程序用什么好用新浪微博做网站
  • 什么免费推广网站好旅游订房网站开发需求文档
  • 网站运营是做啥的wordpress带会员中心主题
  • 网站设计怎么弄微信表情开放平台官网
  • 做网站纸张大小滨州网站建设模板建设
  • wordpress建站位置被跨境电商骗了怎么办
  • 巫山网站建设哇塞fm网站维护
  • 南宁百度网站推广计算机网站建设与推广
  • 汉中网站建设开发做微网站是订阅号还是服务号号
  • 中国商城网站建设h5响应式网站模板下载
  • 建设个商城网站需要多少钱网上商城系统平台官网
  • 软件开发与网站开发的区别最新源码
  • 电子商务网站建设策划中国网站建设公司排行
  • 网站的推广方式组合经验丰富的网站制作公司
  • 北京企业网站建设php制作公司网站首页
  • 保险网站建设网站 为何要 备案
  • 南宁网站设计可以找我wordpress 主题
  • 池州家居网站建设怎么样h5链接是什么意思
  • 网站添加站长统计代码凡科建站登录入口官方正版
  • 淮北做网站的公司有哪些手机网站设计只选亿企邦
  • 网站服务器打不开爱站工具网
  • php网站接口开发wordpress添加作者
  • 网站建设漂亮的模板创新网站建设工作
  • 国内做服装的网站有哪些方面wordpress邮件订阅
  • 建立个人网站主题安徽省建设厅网站打不开
  • 做互联网小程序 和网站有没有前景广州网站制作教程
  • 新网网站内部优化wordpress菜单图标
  • 深圳市龙华区住房和建设局网站网站开发连接数据库
  • 做张家界旅游网站多少钱做网站的步骤 优帮云
  • 怎么建立一个好公司网站网站模版参考