最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++使用模板實(shí)現(xiàn)單鏈表

 更新時(shí)間:2020年04月26日 10:45:15   作者:牧童遙指杏花村丫  
這篇文章主要為大家詳細(xì)介紹了C++使用模板實(shí)現(xiàn)單鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了用模板實(shí)現(xiàn)單鏈表,供大家參考,具體內(nèi)容如下

話不多說 直接上代碼

#include <iostream>
using namespace std;
 
template<typename E>
class CLink;
 
template<typename T>
class Node
{
 friend class CLink<T>;
 
public:
 /*
 構(gòu)造函數(shù)和析構(gòu)函數(shù)一般不加類型參數(shù)
 本類類中除了構(gòu)造函數(shù)和析構(gòu)函數(shù)以外
 其它的地方都要加上類型參數(shù)
 */
 Node(T data = 0)
 {
 mdata = data;
 pnext = NULL;
 }
 ~Node(){}
 
private:
 T mdata;
 Node<T>* pnext;
};
 
template<typename T>
class CLink
{
public:
 CLink()
 {
 phead = new Node<T>();
 }
 void InsertHead(T data)
 {
 Node<T>* pNewNode = new Node<T>(data);
 pNewNode->pnext = phead->pnext;
 phead->pnext = pNewNode;
 } 
 
 void InsertTail(T data)
 {
 Node<T>* pNewNode = new Node<T>(data);
 Node<T>* pCur = phead;
 while(pCur->pnext != NULL)
 {
 pCur = pCur->pnext;
 }
 pCur->pnext = pNewNode;
 }
 
 void Show()
 {
 Node<T>* pCur = phead->pnext;
 while (pCur != NULL)
 {
 cout << pCur->mdata << " ";
 pCur = pCur->pnext;
 }
 cout << endl;
 }
 
 ~CLink()
 {
 Node<T>* pCur = phead;
 Node<T>* pNext = phead;
 while (pCur != NULL)
 {
 pNext = pCur->pnext;
 delete pCur;
 pCur = pNext;
 }
 phead = NULL;
 } 
 
private:
 Node<T>* phead;
};
 
int main()
{
 CLink<int> list1;
 CLink<int> list2;
 
 for(int i = 0;i < 10;i++)
 {
 list1.InsertHead(i + 1);
 list2.InsertTail(i * 2);
 }
 cout << "list1:";
 list1.Show();
 
 cout << "list2:";
 list2.Show();
 
 return 0;
}

運(yùn)行結(jié)果:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++中用棧來判斷括號(hào)字符串匹配問題的實(shí)現(xiàn)方法

    C++中用棧來判斷括號(hào)字符串匹配問題的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++中用棧來判斷括號(hào)字符串匹配問題的實(shí)現(xiàn)方法,是一個(gè)比較實(shí)用的算法技巧,包含了關(guān)于棧的基本操作,需要的朋友可以參考下
    2014-08-08
  • C++使用easyx實(shí)現(xiàn)打磚塊游戲

    C++使用easyx實(shí)現(xiàn)打磚塊游戲

    這篇文章主要為大家詳細(xì)介紹了C++使用easyx實(shí)現(xiàn)打磚塊游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C++11中std::move、std::forward、左右值引用、移動(dòng)構(gòu)造函數(shù)的測試問題

    C++11中std::move、std::forward、左右值引用、移動(dòng)構(gòu)造函數(shù)的測試問題

    這篇文章主要介紹了C++11中std::move、std::forward、左右值引用、移動(dòng)構(gòu)造函數(shù)的測試,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解C++編程中類的聲明和對(duì)象成員的引用

    詳解C++編程中類的聲明和對(duì)象成員的引用

    這篇文章主要介紹了詳解C++編程中類的聲明和對(duì)象成員的引用,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • 淺析C語言初階的常量和變量

    淺析C語言初階的常量和變量

    在C程序執(zhí)行過程中,其值不發(fā)生改變的量稱為常量,其值可變的量稱為變量,本文將帶你了解什么是常量和變量,以及使用方法,需要的朋友可以參考下
    2023-05-05
  • C/C++中CJSON的使用(創(chuàng)建與解析JSON數(shù)據(jù))

    C/C++中CJSON的使用(創(chuàng)建與解析JSON數(shù)據(jù))

    cJSON是一個(gè)超輕巧的JSON解析器,本文主要介紹了C/C++中CJSON的使用(創(chuàng)建與解析JSON數(shù)據(jù)),具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • C語言實(shí)現(xiàn)一個(gè)多線程委托模型的示例詳解

    C語言實(shí)現(xiàn)一個(gè)多線程委托模型的示例詳解

    這篇文章主要介紹了C語言實(shí)現(xiàn)一個(gè)多線程委托模型,這就是一個(gè)使用C語言實(shí)現(xiàn)多線程委托模型的例子,其中包含boss線程和worker線程,可以處理工作線程的異常情況,需要的朋友可以參考下
    2023-06-06
  • C++容器算法示例詳解

    C++容器算法示例詳解

    在談到容器算法,我們大概率會(huì)用到謂詞predicate,謂詞返回的類型是布爾類型(bool)可以是lambda表達(dá)式、函數(shù)對(duì)象以及其它可調(diào)用的對(duì)象,這篇文章主要介紹了C++容器算法,需要的朋友可以參考下
    2024-08-08
  • C++內(nèi)存泄漏及檢測工具詳解

    C++內(nèi)存泄漏及檢測工具詳解

    最簡單的方法當(dāng)然是借助于專業(yè)的檢測工具,比較有名如BoundsCheck,功能非常強(qiáng)大,相信做C++開發(fā)的人都離不開它。此外就是不使用任何工具,而是自己來實(shí)現(xiàn)對(duì)內(nèi)存泄露的監(jiān)控
    2013-10-10
  • C++模板非類型形參的詳細(xì)講解

    C++模板非類型形參的詳細(xì)講解

    這篇文章主要給大家介紹了關(guān)于C++模板非類型形參的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作就有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-11-11

最新評(píng)論

嫩江县| 喀喇| 灌阳县| 东至县| 周至县| 建瓯市| 岗巴县| 青岛市| 盐津县| 武清区| 新沂市| 灵璧县| 汨罗市| 佛山市| 巴中市| 拉萨市| 大名县| 兰坪| 多伦县| 绥棱县| 志丹县| 弥渡县| 彰化县| 搜索| 离岛区| 德令哈市| 临夏县| 宁明县| 济南市| 沽源县| 平利县| 东乌珠穆沁旗| 偏关县| 阿鲁科尔沁旗| 江门市| 瑞丽市| 鄂温| 常德市| 保山市| 浦城县| 石狮市|