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

哪些网站可以做微信推送网页版梦幻西游火眼金睛

哪些网站可以做微信推送,网页版梦幻西游火眼金睛,网站建设案例 算命网站,有哪些室内设计网站#x1f4d8;北尘_#xff1a;个人主页 #x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上#xff0c;不忘来时的初心 文章目录 一、 list的介绍二、list的模拟实现1、list的节点2、list 的迭代器3、list4、打印5、完整代码… 北尘_个人主页 个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上不忘来时的初心 文章目录 一、 list的介绍二、list的模拟实现1、list的节点2、list 的迭代器3、list4、打印5、完整代码 一、 list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器并且该容器可以前后双向迭代。list的底层是双向链表结构双向链表中每个元素存储在互不相关的独立节点中在节点中通过指针指向其前一个元素和后一个元素。list与forward_list非常相似最主要的不同在于forward_list是单链表只能朝前迭代已让其更简单高效。与其他的序列式容器相比(arrayvectordeque)list通常在任意位置进行插入、移除元素的执行效率更好。与其他序列式容器相比list和forward_list最大的缺陷是不支持任意位置的随机访问比如要访问list的第6个元素必须从已知的位置(比如头部或者尾部)迭代到该位置在这段位置上迭代需要线性的时间开销list还需要一些额外的空间以保存每个节点的相关联信息(对于存储类型较小元素的大list来说这可能是一个重要的因素) 二、list的模拟实现 1、list的节点 templateclass Tstruct list_node{T _data;list_nodeT* _prev;list_nodeT* _next;list_node(const T x T()):_data(x), _next(nullptr), _prev(nullptr){}};2、list 的迭代器 templateclass T, class Ref, class Ptrstruct __list_iterator{typedef list_nodeT Node;typedef __list_iteratorT, Ref, Ptr self;Node* _node;__list_iterator(Node* node):_node(node){}self operator(){_node _node-_next;return *this;}self operator--(){_node _node-_prev;return *this;}self operator(int){self tmp(*this);_node _node-_next;return tmp;}self operator--(int){self tmp(*this);_node _node-_prev;return tmp;}Ref operator*(){return _node-_data;}Ptr operator-(){return _node-_data;}bool operator!(const self s){return _node ! s._node;}bool operator(const self s){return _node s._node;}};3、list templateclass Tclass list{typedef list_nodeT Node;public:typedef __list_iteratorT, T, T* iterator;typedef __list_iteratorT, const T, const T* const_iterator;iterator begin(){return _head-_next;}iterator end(){return _head;}const_iterator begin() const{return _head-_next;}const_iterator end() const{return _head;}void empty_init(){_head new Node;_head-_next _head;_head-_prev _head;_size 0;}list(){empty_init();}list(listT lt){empty_init();for (auto e : lt){push_back(e);}}listT operator(listT lt){swap(lt);return *this;}void swap(listT lt){std::swap(_size, lt._size);std::swap(_head, lt._head);}iterator insert(iterator pos, const T x){Node* cur pos._node;Node* newnode new Node(x);Node* prev cur-_prev;prev-_next newnode;newnode-_prev prev;newnode-_next cur;cur-_prev newnode;_size;return iterator(newnode);}iterator erase(iterator pos){Node* cur pos._node;Node* prev cur-_prev;Node* next cur-_next;delete cur;prev-_next next;next-_prev prev;--_size;}size_t size(){return _size;}void clear(){iterator it begin();while (it ! end){it erase(it);}}void push_back(const T x){insert(end(), x);}void push_front(const T x){insert(begin(), x);}void push_back(){erase(end());}void pop_back(){erase(begin());}private:Node* _head;size_t _size;};4、打印 templatetypename Containervoid print_container(const Container con){typename Container::const_iterator it con.begin();while (it ! con.end()){cout *it ;it;}cout endl;}void test_list(){listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);print_container(lt);liststring lt1;lt1.push_back(1111111111111);lt1.push_back(1111111111111);lt1.push_back(1111111111111);lt1.push_back(1111111111111);lt1.push_back(1111111111111);print_container(lt1);vectorstring v;v.push_back(222222222222222222222);v.push_back(222222222222222222222);v.push_back(222222222222222222222);v.push_back(222222222222222222222);print_container(v);} } int main() {bit::test_list();return 0; }5、完整代码 #includeiostream #includestring #includevector using namespace std; namespace bit {templateclass Tstruct list_node{T _data;list_nodeT* _prev;list_nodeT* _next;list_node(const T x T()):_data(x), _next(nullptr), _prev(nullptr){}};templateclass T, class Ref, class Ptrstruct __list_iterator{typedef list_nodeT Node;typedef __list_iteratorT, Ref, Ptr self;Node* _node;__list_iterator(Node* node):_node(node){}self operator(){_node _node-_next;return *this;}self operator--(){_node _node-_prev;return *this;}self operator(int){self tmp(*this);_node _node-_next;return tmp;}self operator--(int){self tmp(*this);_node _node-_prev;return tmp;}Ref operator*(){return _node-_data;}Ptr operator-(){return _node-_data;}bool operator!(const self s){return _node ! s._node;}bool operator(const self s){return _node s._node;}};templateclass Tclass list{typedef list_nodeT Node;public:typedef __list_iteratorT, T, T* iterator;typedef __list_iteratorT, const T, const T* const_iterator;iterator begin(){return _head-_next;}iterator end(){return _head;}const_iterator begin() const{return _head-_next;}const_iterator end() const{return _head;}void empty_init(){_head new Node;_head-_next _head;_head-_prev _head;_size 0;}list(){empty_init();}list(listT lt){empty_init();for (auto e : lt){push_back(e);}}listT operator(listT lt){swap(lt);return *this;}void swap(listT lt){std::swap(_size, lt._size);std::swap(_head, lt._head);}iterator insert(iterator pos, const T x){Node* cur pos._node;Node* newnode new Node(x);Node* prev cur-_prev;prev-_next newnode;newnode-_prev prev;newnode-_next cur;cur-_prev newnode;_size;return iterator(newnode);}iterator erase(iterator pos){Node* cur pos._node;Node* prev cur-_prev;Node* next cur-_next;delete cur;prev-_next next;next-_prev prev;--_size;}size_t size(){return _size;}void clear(){iterator it begin();while (it ! end){it erase(it);}}void push_back(const T x){insert(end(), x);}void push_front(const T x){insert(begin(), x);}void push_back(){erase(end());}void pop_back(){erase(begin());}private:Node* _head;size_t _size;};templatetypename Containervoid print_container(const Container con){typename Container::const_iterator it con.begin();while (it ! con.end()){cout *it ;it;}cout endl;}void test_list(){listint lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);print_container(lt);liststring lt1;lt1.push_back(1111111111111);lt1.push_back(1111111111111);lt1.push_back(1111111111111);lt1.push_back(1111111111111);lt1.push_back(1111111111111);print_container(lt1);vectorstring v;v.push_back(222222222222222222222);v.push_back(222222222222222222222);v.push_back(222222222222222222222);v.push_back(222222222222222222222);print_container(v);} } int main() {bit::test_list();return 0; }
http://wiki.neutronadmin.com/news/290541/

相关文章:

  • 网站即将 模板搜索引擎营销经典案例
  • 网站一级域名东莞建外贸企业网站
  • 企业网站建设浩森宇特海曙区建设局网站
  • 用织梦做的网站下载地址电子商务企业网站建设发展论文
  • 网站开发一般多少钱php中网站搜索功能实现
  • win2003网站建设百度云做网站
  • 深圳国外网站建设汽车网页模板
  • 搜索引擎有哪些网站国外建设网站情况报告
  • 专业公司网站开发服务优质ppt模板免费下载
  • php网站建设制作流程响应式网站 cms
  • wordpress全站链接网站ie不兼容
  • 机票网站建设山东潍坊网站制作公司
  • 房屋网站模板wordpress qq微信登陆地址
  • 网站无法导入照片wordpress的使用方法
  • 淄博著名网站开发方法中文在线っと好きだっ
  • 唐山网站建设开发做名片最好的网站
  • 阿里巴巴国际站关键词推广广州哪里有做网站的
  • 东莞什么行业做网站的多太原室内设计公司排名
  • 怎样做机械租赁的网站注册公司最好用老年人
  • 企业展示型电商网站模板招工 最新招聘信息58同城
  • 郑州app网站公司住房和城乡规划建设局官方网站
  • 怎么做网站平台中国十大网络安全公司排名
  • 小程序是怎么制作出来的门户网站做seo
  • 佛山企业网站建设教程微信公众号做电影网站要域名吗
  • 用手机可以做网站吗网站开发安全性分析
  • 有做企业网站的吗creative建网站平台
  • 安宁市建设局网站电子商务的就业方向是什么
  • 北京网站建设公司分享网站改版注意事项北京小程序制作首选华网天下
  • 网站开发音乐做网站江西
  • 网站底部优化文字网销怎么销售的