C++如何使用模板实现一个List-创新互联

这篇文章主要介绍了C++如何使用模板实现一个List,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

我们提供的服务有:成都网站建设、网站建设、微信公众号开发、网站优化、网站认证、沈丘ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的沈丘网站制作公司

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

template 
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; 
  } 
 
 
};

调用方式如下

Listlist; 
  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”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:C++如何使用模板实现一个List-创新互联
URL分享:http://pwwzsj.com/article/dicido.html