設計一個單鏈表的類模板,使其能夠完成單鏈表的建立和顯示

來源:互聯網
上載者:User

//設計一個單鏈表的類模板,使其能夠完成單鏈表的建立和顯示
#include <iostream>
using namespace std;
template <class T>
class List
{
private:
 T data;
 List *next; 
 static List *curnode;                         //當前節點指標,待用資料成員,為List類的所有對象所共有
 static List *head;                             //頭指標,待用資料成員,為List類的所有對象所共有
public: 
 List():next(NULL)                             //無慘建構函式,用於構造新節點
 {
  head=curnode=this;
 }
 List(T newdata):data(newdata),next(NULL)
 {}
 void create(T newnode);
 void display();
};
template <class T>
List<T>*List<T>::curnode;
template <class T>
List<T>*List<T>::head;
template <class T>
void List<T>::create(T newdata)
{
 curnode->next=new List(newdata);
 curnode=curnode->next;
}
template <class T>
void List<T>::display()
{
 curnode=head->next;
 while(curnode!=NULL)
 {
  cout<<curnode->data<<endl;
  curnode=curnode->next;
 }
}
void main()
{
 List<int>list1;                              //調用無慘建構函式
 list1.create(2);
 list1.create(0);
 list1.create(1);
 list1.create(0);
 list1.display();
 List<char>list2;
 list2.create('O');
 list2.create('K');
 list2.create('!');
 list2.display();
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.