成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++單向鏈表實現代碼解讀

開發 后端
C++單向鏈表的實現的具體操作步驟將會在這篇文章中以代碼方式為大家呈現。朋友們可以以此為學習參考對象,進一步掌握這一應用技巧。

C++編程語言是一款應用廣泛的計算機應用語言。我們在這篇文章中為大家介紹的是關于C++單向鏈表的實現方法。希望初學者們可以通過本文介紹的內容充分掌握這方面的知識,并從中體驗到這款語言功能的強大。

C++單向鏈表實現代碼:

  1. #include < iostream>   
  2. using namespace std;   
  3. template < class T>   
  4. struct node   
  5. {   
  6. //public:   
  7. // 結構體成員默認就是public的  
  8. T data;   
  9. node< T> *next;   
  10. };   
  11. //typedef struct node NODE;   
  12. //typedef NODE *NODEPTR;   
  13. //typedef后面要跟具體的類類型,而不是一個類模版。eg: typedef node< T> 
    NODE (C++中,實例化結構體時struct可省略)  
  14. template < class T>   
  15. class list   
  16. {   
  17. public:  
  18. //以下三個函數要供外部調用,所以要聲明為public,class默認為private。  
  19. /*  
  20. void creat(T &p);   
  21. void print(T p);   
  22. void destroy(T &p);   
  23. */  
  24. //這三個函數的參數有問題,按照下文的實現,我認為應改為如下:  
  25. void creat(T *p);  
  26. void print(T *p);  
  27. void destroy(T *p);  
  28. };   
  29. template< class A>   
  30. //void creat(A &p)   
  31. void list< A>::creat(A *p)  
  32. {   
  33. //class node *q;   
  34. //形參里的A就是這個程序的node類型  
  35. char ch = 0; //下數第4行cin>>ch 中的ch未定義,在此補充  
  36. A *q = NULL;  
  37. q=p; //必須新增這一句,q用于以后的動態分配  
  38. cout< < "input"< < endl;   
  39. cin>>ch;  
  40. // if(!p) //這個if放在while里會影響效率,故移到while外邊,
    改過程序之后,實際上用不著了  
  41. // {   
  42. //p=new struct node;   
  43. //語法錯誤,形參里的A就是這個程序的node類型  
  44. // p = new A();  
  45. if(ch!='#')  
  46. p->data=ch;   
  47. // }   
  48. cin>>ch;  
  49. while(ch!='#')   
  50. {   
  51. //q->next=new class node;   
  52. //語法錯誤,形參里的A就是這個程序的node類型  
  53. q->next = new A();  
  54. //q->next=ch;   
  55. //這句應該是給data賦值  
  56. q->next->data = ch;  
  57. qq = q->next; //必須新增這一句,q用于以后的動態分配  
  58. cin>>ch;   
  59. }   
  60. q->next=NULL;   
  61. }   
  62. template < class T>   
  63. void list< T>::print(T *p)   
  64. {   
  65. if(p)   
  66. {   
  67. cout< < p->data< < " ";   
  68. print(p->next);   
  69. }   
  70. }  
  71. template < class T>   
  72. void list< T>::destroy(T *p)   
  73. {   
  74. if(p)   
  75. {   
  76. destroy(p->next);   
  77. delete p->next;   
  78. }   
  79. }   
  80. int main()   
  81. {   
  82. // NODEPTR p;   
  83. node< int> p;  
  84. // list L; 模版要有參數  
  85. list<  node< int> > L;  
  86. L.creat(&p);   
  87. cout < <  endl < <  endl < <  "show:" < < endl;  
  88. L.print(&p);   
  89. L.destroy(&p);  
  90. return 0;   

實現C++單向鏈表時,程序使用了指針,如果改用引用更好些。

【編輯推薦】

  1. C++函數對象與函數指針不同之處
  2. C++ sprintf格式化解決方法詳解
  3. C++ Doxygen實現功能分享
  4. C++剪切板常用應用技巧分享
  5. C++鏈棧模板應用代碼解讀
責任編輯:曹凱 來源: 博客園
相關推薦

2010-01-28 14:04:35

C++鏈表

2023-12-22 13:58:00

C++鏈表開發

2010-02-06 13:42:36

C++單件模式

2010-02-01 13:34:07

C++獲得系統時間

2010-03-03 09:30:40

Python實現網頁爬

2010-02-03 15:58:51

C++ timer

2010-02-06 16:59:19

C++ kmp算法模板

2010-02-04 09:33:08

C++指針重載

2010-02-04 16:07:39

C++回調函數

2010-02-05 17:58:32

C++鏈棧模板

2023-10-30 10:29:50

C++最小二乘法

2021-05-07 08:20:52

前端開發技術熱點

2016-10-20 16:07:11

C++Modern C++異步

2010-01-21 14:07:14

CC++聲明

2010-01-22 13:45:36

C++代碼

2010-02-02 17:27:16

C++連接MySqL數

2010-02-01 14:26:50

C++讀寫文本文件

2010-02-01 11:22:09

C++虛函數

2010-02-05 16:46:58

C++ TinyXml

2023-12-13 10:08:59

C++原子代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文天堂在线观看 | 国产欧美一区二区三区日本久久久 | 久久福利网站 | 国产精品久久久久久一区二区三区 | 亚洲一区成人 | 天天色官网 | 最近日韩中文字幕 | 成人国产精品视频 | 欧美自拍另类 | 欧美精品一区在线发布 | 国产成人精品一区二区三区 | 红桃视频一区二区三区免费 | 久久久久国产精品一区三寸 | 中文字幕第一页在线 | 国产午夜视频 | 五月婷婷丁香 | 人人性人人性碰国产 | 国产黄色大片在线观看 | 欧美视频成人 | 久久精品国产久精国产 | 午夜欧美| 国产色婷婷久久99精品91 | 日韩一区二区av | 国产一区二区久久 | 一区欧美 | 亚洲欧美综合 | 一级h片 | 无码一区二区三区视频 | 亚洲国产精品99久久久久久久久 | 久久久久免费观看 | 日韩精品一区二区三区在线观看 | 久久99视频免费观看 | 中文字幕一区二区三区四区 | 国产丝袜一区二区三区免费视频 | 午夜精品在线 | 日韩在线一区视频 | 欧美中文一区 | 97视频成人| 亚洲国产成人精品女人久久久 | 久久国内精品 | 亚洲精品片 |