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

用C++實(shí)現(xiàn)單向循環(huán)鏈表的解決方法

 更新時間:2013年05月29日 15:28:59   作者:  
本篇文章是對用C++實(shí)現(xiàn)單向循環(huán)鏈表的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
用C++實(shí)現(xiàn)一個單向循環(huán)鏈表,從控制臺輸入整型數(shù)字,存儲在單項(xiàng)循環(huán)鏈表中,實(shí)現(xiàn)了求鏈表大小。
不足之處,還望指正!
復(fù)制代碼 代碼如下:

// TestSound.cpp : 定義控制臺應(yīng)用程序的入口點(diǎn)。
//實(shí)現(xiàn)單向循環(huán)鏈表
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
//定義鏈表一個節(jié)點(diǎn)的結(jié)構(gòu)體
template <class T>
struct NODE
{
 T data;//節(jié)點(diǎn)的數(shù)據(jù)域
 NODE* next;//節(jié)點(diǎn)的指針域
};
//自定義鏈表容器(含有的方法與C++不盡相同)
template <class T>
class MyList
{
public:
 //構(gòu)造函數(shù),初始化一個頭結(jié)點(diǎn),data為空,next指向第一個節(jié)點(diǎn)
 MyList()
 {
  phead = new NODE<T>;
  phead->data = NULL;
  phead->next = phead;
 }
 //析構(gòu)函數(shù),將整個鏈表刪除,這里采用的是正序撤銷
 ~MyList()
 {
  NODE<T>* p = phead->next;
  while (p != phead)
  {
   NODE<T>* q = p;
   p = p->next;
   delete q;
  }
  delete phead;
 }
 //復(fù)制構(gòu)造函數(shù)
 MyList(MyList& mylist)
 {
  NODE<T>* q = mylist.phead->next;
  NODE<T>* pb = new NODE<T>;
  this->phead = pb;
  while (q != mylist.phead)
  {
   NODE<T>* p = new NODE<T>;
   p->data = q->data;
   p->next = phead;
   pb->next = p;
   pb = p;
   q = q->next;
  }
 }
    //返回list表的大小
 int get_size();

 //將用戶輸入的integer數(shù)據(jù),插入list表中
 void push_back();

 //將list表中的元素輸出
 void get_elements();
 private:
 NODE<T>* phead;
};
//返回list表的大小
template <class T>
int MyList<T>::get_size()
{
 int count(0);
 NODE<T>* p = phead->next;
 while (p != phead)
 {
  count ++;
  p = p->next;
 }
 return count;
}
//將用戶輸入的integer數(shù)據(jù),插入list表中
template <class T>
void MyList<T>::push_back()
{
 int i;
 cout << "Enter several integer number, enter ctrl+z for the end: "<< endl;
 NODE<T>* p = phead;
 while (cin >> i)
 {
  NODE<T>* q = new NODE<T>;

  p->next = q;
  q->data = i;
  q->next = phead;
  p = q;
 }
}
//將list表中的元素輸出
template<class T>
void MyList<T>::get_elements()
{
 NODE<T>* q = phead->next;

 while (q != phead)
 {
  cout << q->data << " ";
  q = q->next;
 }
 cout << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
 MyList<int> mylist;
 mylist.push_back();
 MyList<int> mylist2(mylist);
 mylist.get_elements();
 mylist2.get_elements();
 cout << endl << mylist.get_size() << endl;
 return 0;
}

相關(guān)文章

  • C語言詳細(xì)分析宏定義的使用

    C語言詳細(xì)分析宏定義的使用

    宏定義是用宏名來表示一個字符串,在宏展開時又以該字符串取代宏名,這只是一種簡單的替換。字符串中可以含任何字符,可以是常數(shù),也可以是表達(dá)式,預(yù)處理程序?qū)λ蛔魅魏螜z查,如有錯誤,只能在編譯已被宏展開后的源程序時發(fā)現(xiàn)
    2022-04-04
  • C語言實(shí)現(xiàn)簡單的猜數(shù)字游戲

    C語言實(shí)現(xiàn)簡單的猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單的猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 關(guān)于C/C++中的side effect(負(fù)效應(yīng))和sequence point(序列點(diǎn))

    關(guān)于C/C++中的side effect(負(fù)效應(yīng))和sequence point(序列點(diǎn))

    不知你在寫code時是否遇到這樣的問題?int i = 3; int x = (++i) + (++i) + (++i); 問x值為多少?進(jìn)行各種理論分析,并在編譯器上實(shí)踐,然而可能發(fā)現(xiàn)最終的結(jié)果是不正確的,也是不穩(wěn)定的,不同的編譯器可能會產(chǎn)生不同的結(jié)果。這讓人很頭疼
    2013-10-10
  • Qt中QStringList與QString的常用方法總結(jié)

    Qt中QStringList與QString的常用方法總結(jié)

    這篇文章主要為大家總結(jié)了Qt中QString 與 (QStringList | QByteArray)之間的轉(zhuǎn)換,以及QString、QStringList的一些常用方法,感興趣的可以收藏一下
    2022-12-12
  • c++ 前自增/后自增操作符效率分析

    c++ 前自增/后自增操作符效率分析

    這篇文章主要介紹了c++ 前自增/后自增操作符效率分析,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2021-01-01
  • Qt4和Qt5的信號和槽的使用區(qū)別

    Qt4和Qt5的信號和槽的使用區(qū)別

    本文主要介紹了Qt4 和 Qt5 的信號和槽的連接 connect 與斷開 disconnect 區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 詳解C++ 拷貝構(gòu)造函數(shù)和賦值運(yùn)算符

    詳解C++ 拷貝構(gòu)造函數(shù)和賦值運(yùn)算符

    本文主要介紹了拷貝構(gòu)造函數(shù)和賦值運(yùn)算符的區(qū)別,以及在什么時候調(diào)用拷貝構(gòu)造函數(shù)、什么情況下調(diào)用賦值運(yùn)算符。最后,簡單的分析了下深拷貝和淺拷貝的問題。有需要的朋友可以看下
    2016-12-12
  • 《C++ primer plus》讀書筆記(二)

    《C++ primer plus》讀書筆記(二)

    本讀書筆記是讀了《C++ primer plus(第六版)》第五至八章的學(xué)習(xí)筆記。是C++讀書筆記系列的第二篇。復(fù)習(xí)C++基礎(chǔ)知識的可以瞄瞄。
    2014-10-10
  • Windows下Qt打包自動尋找依賴的DLL

    Windows下Qt打包自動尋找依賴的DLL

    本文介紹了兩種在Windows下使用Qt打包應(yīng)用程序并自動尋找依賴DLL的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 用C語言實(shí)現(xiàn)簡易通訊錄

    用C語言實(shí)現(xiàn)簡易通訊錄

    這篇文章主要為大家詳細(xì)介紹了用C語言實(shí)現(xiàn)簡易通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02

最新評論

金湖县| 西城区| 太谷县| 天等县| 兰坪| 渑池县| 南雄市| 商水县| 雅江县| 华容县| 禹城市| 神池县| 五峰| 曲周县| 镇远县| 平顶山市| 桂林市| 封丘县| 邳州市| 博乐市| 红原县| 灵石县| 建始县| 札达县| 唐河县| 天水市| 勐海县| 安义县| 吉首市| 眉山市| 梨树县| 南平市| 江孜县| 启东市| 岳阳县| 云阳县| 清河县| 乌拉特中旗| 邻水| 山阳县| 昌图县|