全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C++ 使用模板实现一个List的实例

C ++使用模板写的一个List

template<class T> 
class List 
{ 
private: 
  struct Node 
  { 
    T data; 
    Node *next; 
  }; 
  //head 
  Node *head; 
  //size 
  int length; 
 
  //process 
  Node *p; 
 
  //temp 
  Node *q; 
public: 
  List() 
  { 
    head = NULL; 
    length = 0; 
    p = NULL; 
  } 
  void add(T t) 
  { 
    if(head == NULL) 
    { 
      q = new Node(); 
      q->data = t; 
      q->next = NULL; 
      length ++ ; 
      head = q ; 
      p = head; 
    } 
    else 
    { 
      q = new Node(); 
      q->data = t; 
      q->next = NULL; 
      length ++; 
      p -> next = q; 
      p = q; 
    } 
  } 
 
  void remove(int n) 
  { 
    if(n >= length ) 
    { 
      return; 
    } 
    length -- ; 
 
    //删除头节点 
    if(n == 0) 
    { 
      q = head ; 
      head = head -> next; 
      delete(q); 
    } 
    else 
    { 
      q = head; 
      for(int i = 0 ; i < n-1 ; i++) 
      { 
        q = q -> next; 
      } 
      Node *t = q ->next; 
      q->next = q->next ->next; 
      delete(t); 
 
    } 
 
    // 
    p = head; 
    if (p != NULL) 
    { 
      while(p->next != NULL) 
      { 
        p = p->next; 
      } 
    } 
 
  } 
 
  int getSize() 
  { 
    return length; 
  } 
 
  int getLength() 
  { 
    return getSize(); 
  } 
 
  T get(int n) 
  { 
    q = head; 
    for (int i = 0 ;i < n ; i++) 
    { 
      q = q->next; 
    } 
    return q->data; 
  } 
 
 
}; 

调用方式如下

List<Stu>list; 
  Stu stu1; 
  Stu stu2; 
  Stu stu3; 
  stu1.username = "1"; 
  stu2.username = "2"; 
  stu3.username = "3"; 
 
  list.add(stu1); 
  list.remove(0); 
  list.add(stu2); 
  list.add(stu3); 
 
  for (int i = 0 ;i < list.getSize() ; i ++) 
  { 
    cout << list.get(i).username; 
  } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# C++  # 使用模板实现一个List  # C++实现简单  # List  # C++中list的用法实例讲解  # C++入门之list的使用详解  # C++模拟实现list功能  # C++初阶之list的模拟实现过程详解  # C++实现双向链表(List)  # C++ list的实例详解  # C++中list的使用方法及常用list操作总结  # C++ 模拟实现list(迭代器)实现代码  # C++数据结构之list详解  # 希望能  # 谢谢大家  # Node  # data  # private  # struct  # head  # length  # process  # size  # int  # pre  # class  # strong  # brush  # lt  # gt  # cpp  # template 


相关文章: 电商网站制作公司有哪些,1688网是什么意思?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何选择高性价比服务器搭建个人网站?  如何在IIS服务器上快速部署高效网站?  移民网站制作流程,怎么看加拿大移民官网?  如何快速建站并高效导出源代码?  定制建站哪家更专业可靠?推荐榜单揭晓  ,南京靠谱的征婚网站?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  html制作网站的步骤有哪些,iapp如何添加网页?  建站OpenVZ教程与优化策略:配置指南与性能提升  动图在线制作网站有哪些,滑动动图图集怎么做?  c# await 一个已经完成的Task会发生什么  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何通过万网虚拟主机快速搭建网站?  制作公司内部网站有哪些,内网如何建网站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何快速搭建二级域名独立网站?  如何基于PHP生成高效IDC网络公司建站源码?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  建站主机无法访问?如何排查域名与服务器问题  建站之星备案流程有哪些注意事项?  想学网站制作怎么学,建立一个网站要花费多少?  建站之星与建站宝盒如何选择最佳方案?  建站之星导航配置指南:自助建站与SEO优化全解析  学校为何禁止电信移动建设网站?  手机网站制作与建设方案,手机网站如何建设?  公司网站制作价格怎么算,公司办个官网需要多少钱?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何配置IIS站点权限与局域网访问?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  无锡营销型网站制作公司,无锡网选车牌流程?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  大连网站设计制作招聘信息,大连投诉网站有哪些?  公众号网站制作网页,微信公众号怎么制作?  建站主机解析:虚拟主机配置与服务器选择指南  如何快速重置建站主机并恢复默认配置?  公司网站的制作公司,企业网站制作基本流程有哪些?  大同网页,大同瑞慈医院官网?  如何用PHP快速搭建CMS系统?  香港服务器租用每月最低只需15元?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  h5网站制作工具有哪些,h5页面制作工具有哪些?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  建站主机SSH密钥生成步骤及常见问题解答?  深圳网站制作案例,网页的相关名词有哪些?  简单实现Android验证码  活动邀请函制作网站有哪些,活动邀请函文案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。