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

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

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

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

這一篇可以和上一篇 點擊打開鏈接 模板實現(xiàn)單鏈表進行對比 

看類外實現(xiàn)和類內(nèi)實現(xiàn)的區(qū)別

代碼:

#include <iostream>
using namespace std;
 
template<typename T>
class CLink
{
public:
 class Node;
 CLink();//無參的構(gòu)造函數(shù)
 void InsertHead(T data);//頭插
 void InsertTail(T data);//尾插
 void Show();//打印
 ~CLink();//析構(gòu)
 Node* Find(T val);//查找
 
private:
 class Node
 {
 public:
 Node(T data = 0);
 ~Node(){}
 public:
 T mdata;
 Node* pnext;
 };
 Node* phead;
};
 
//類外實現(xiàn)無參的構(gòu)造
template<typename T>
CLink<T>::CLink()
{
 phead = new Node();
} 
 
//類外實現(xiàn)頭插
template<typename T>
void CLink<T>::InsertHead(T data)
{
 Node* pNewNode = new Node(data);
 pNewNode->pnext = phead->pnext;
 phead->pnext = pNewNode;
}
 
 
//類外實現(xiàn)尾插
template<typename T>
void CLink<T>::InsertTail(T data)
{
 Node* pNewNode = new Node(data);
 Node* pCur = phead;
 while(pCur->pnext != NULL)
 {
 pCur = pCur->pnext;
 }
 pCur->pnext = pNewNode;
}
 
 
//類外實現(xiàn)打印函數(shù)
template<typename T>
void CLink<T>::Show()
{
 Node* pCur = phead->pnext;
 while (pCur != NULL)
 {
 cout << pCur->mdata << " ";
 pCur = pCur->pnext;
 }
 cout << endl;
}
 
//類外實現(xiàn)析構(gòu)函數(shù)
template<typename T>
CLink<T>::~CLink()
{
 Node* pCur = phead;
 Node* pNext = phead;
 while (pCur != NULL)
 {
 pNext = pCur->pnext;
 delete pCur;
 pCur = pNext;
 }
 phead = NULL;
}
 
//類外實現(xiàn)結(jié)點的構(gòu)造
template<typename T>
CLink<T>::Node::Node(T data)
{
 mdata = data;
 pnext = NULL;
}
 
//類外實現(xiàn)查找函數(shù)
template<typename T>
typename CLink<T>::Node* CLink<T>::Find(T val)
{
 Node* pCur = phead->pnext;
 while (pCur != NULL)
 {
 if (pCur->mdata == val)
 {
 return pCur;
 }
 pCur = pCur->pnext;
 }
 return pCur;
}
 
int main()
{
 CLink<int> link1;
 CLink<int> link2;
 
 for(int i = 0;i < 10;i++)
 {
 link1.InsertHead(i + 1);
 link2.InsertTail(i * 2);
 }
 cout << "link1:";
 link1.Show();
 
 cout << "link2:";
 link2.Show();
 
 link1.Find(10);
 
 return 0;
}

運行結(jié)果:

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

相關(guān)文章

  • 使用Inotify 監(jiān)控目錄與文件的方法詳解

    使用Inotify 監(jiān)控目錄與文件的方法詳解

    本篇文章是對使用Inotify 監(jiān)控目錄與文件的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 詳解C語言中的常量指針和指針常量

    詳解C語言中的常量指針和指針常量

    這篇文章主要介紹了詳解C語言中的常量指針和指針常量,包括其之間的區(qū)別是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-08-08
  • C++面試常見問題整理匯總

    C++面試常見問題整理匯總

    這篇文章主要介紹了C++面試常見問題整理,匯總了C++基本語法、面向?qū)ο蟾鞣N概念與易錯點,需要的朋友可以參考下
    2017-05-05
  • C語言常見排序算法之交換排序(冒泡排序,快速排序)

    C語言常見排序算法之交換排序(冒泡排序,快速排序)

    這篇文章主要介紹了C語言常見排序算法之交換排序(冒泡排序,快速排序),冒泡排序即Bubble?Sort,類似于水中冒泡,較大的數(shù)沉下去,較小的數(shù)慢慢冒起來,假設(shè)從小到大,即為較大的數(shù)慢慢往后排,較小的數(shù)慢慢往前排
    2022-07-07
  • c++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)

    c++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)

    下面小編就為大家?guī)硪黄猚++中數(shù)字與字符串之間的轉(zhuǎn)換方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 基于C語言實現(xiàn)簡單的五子棋游戲

    基于C語言實現(xiàn)簡單的五子棋游戲

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)簡單的五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C語言實現(xiàn)繪制余弦曲線

    C語言實現(xiàn)繪制余弦曲線

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)繪制余弦曲線的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C語言中volatile關(guān)鍵字的深入講解

    C語言中volatile關(guān)鍵字的深入講解

    在程序設(shè)計中,尤其是在C語言、C++、C#和Java語言中,使用volatile關(guān)鍵字聲明的變量或?qū)ο笸ǔ>哂信c優(yōu)化、多線程相關(guān)的特殊屬性,這篇文章主要給大家介紹了關(guān)于C語言volatile關(guān)鍵字的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • C++ primer超詳細講解順序容器

    C++ primer超詳細講解順序容器

    本文主要介紹了C++順序容器(vector、deque、list)的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • c 調(diào)用python出現(xiàn)異常的原因分析

    c 調(diào)用python出現(xiàn)異常的原因分析

    本篇文章是對使用c語言調(diào)用python出現(xiàn)異常的原因進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05

最新評論

贵阳市| 阳春市| 新宾| 喀什市| 杂多县| 江城| 平南县| 石狮市| 健康| 罗定市| 泰宁县| 龙门县| 河东区| 宁津县| 渭南市| 南陵县| 东方市| 承德县| 扶余县| 凭祥市| 会泽县| 会宁县| 怀宁县| 绍兴市| 浮梁县| 武宁县| 望江县| 赤峰市| 图片| 五大连池市| 临安市| 西林县| 唐河县| 松阳县| 怀宁县| 集贤县| 大石桥市| 西城区| 大关县| 泰州市| 和静县|