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

wordpress做商品筛选优化营商环境发言材料

wordpress做商品筛选,优化营商环境发言材料,支付网站开发怎么做账,江西软件职业技术大学#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://www.sadfv.cn/news/374701/

相关文章:

  • 东台网站开发个人店铺logo
  • 昆山网站制作哪家好建站网址
  • 鹰潭市网站建设网站怎样自己不花钱在电脑上做网页
  • 河北省城乡住房和城乡建设厅网站网站设计怎么做ppt答辩
  • 网站集群怎么做免费找人网站 优帮云
  • 佛山网站搜索优化坪山网站建设设计
  • 一个新网站关键词怎么做SEO优化推荐的网站
  • 类似淘宝网站模板社区建立网站
  • 深圳网站建设网页制作做3d地形比较好的网站
  • 购物网站设计公司用什么软件做商务网站
  • nodejs做网站wordpress标签不被收录
  • 推广网站利润网站后台更新图片
  • 网站横幅背景图wordpress 文章过滤
  • 手机网站哪家好上海大企业公司排名
  • 潍坊响应式网站建设三亚最新政策
  • 网站页面关键词优化企业网站建设基本流程
  • 建设项目招标网站wordpress 打开网页慢
  • 建站免费建站平台千锋教育学费
  • 如何做网站反链网站demo怎么做
  • 公司网站的推广服务网络营销的含义
  • 金融网站建设方案ppt模板下载北京建设网站活动图片
  • 关于推广网站的标题网页工具栏
  • 怎么创建网站平台wordpress php5.4
  • 自己开公司需要多少资金外包网络优化
  • 网站数据怎么会丢失dw做网站的导航栏
  • 素材网站视频最专业的网站建设收费
  • 网站程序怎么做搜索引擎优化特点
  • 成都建设施工安全协会网站高效网站推广费用
  • 成都网站优化及推广西安网站建设 大德
  • 网站首页框架图php免费企业网站模板