




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第C++詳解鏈棧的實現目錄鏈棧簡述示例代碼開發環境運行結果注意
鏈棧簡述
鏈棧從概念上看是鏈表和棧的結合,含有棧先進后出的特性,也具有鏈表的動態增加節點的特性,這里相當于在鏈表的基礎上增加只能從一端操作,且保持先進后出的特性。將頭節點所在的那端看作棧頂,頭節點后緊接著的節點所在的位置,即第一個存儲數據的節點所在的位置為出棧入棧的位置。
示例代碼
直接上代碼:
LinkStack.h
#pragmaonce
typedefstructLINKNODE{
structLINKNODE*pNext;
}LinkNode;
classLinkStack
public:
LinkStack();
~LinkStack();
voidpushLinkStack(LinkNode*data);
voidpopLinkStack();
LinkNode*getTopLinkStack();
intgetSizeLinkStack();
voidclearStack();
private:
//這里可以不定義該類類型的指針,該類類型變量定義后只能使用單獨的初始化函數初始化,
//不能用構造函數,會造成循環調用構造函數的死循環中
//LinkStack*m_LinkStack;
LinkNodem_head;
intm_size;
};
LinkStack.cpp
#include"LinkStack.h"
LinkStack::LinkStack()
m_size=0;
LinkStack::~LinkStack()
voidLinkStack::pushLinkStack(LinkNode*data)
if(data==nullptr)
return;
data-pNext=m_head.pNext;
m_head.pNext=data;
m_size++;
voidLinkStack::popLinkStack()
LinkNode*pDel=m_head.pNext;
m_head.pNext=pDel-pNext;
m_size--;
LinkNode*LinkStack::getTopLinkStack()
returnm_head.pNext;
intLinkStack::getSizeLinkStack()
returnm_size;
voidLinkStack::clearStack()
m_head.pNext=nullptr;
m_size=0;
}
main.cpp
#includeiostream
#include"LinkStack.h"
usingnamespacestd;
typedefstructPERSON
LinkNodenode;
charname[64];
intage;
}Person;
voidtest()
LinkStack*pLinkStack=newLinkStack;
Personp1,p2,p3,p4,p5;
strcpy_s(,"hudh");
strcpy_s(,"呼呼");
strcpy_s(,"jidi");
strcpy_s(,"hus");
strcpy_s(,"akios");
p1.age=34;
p2.age=45;
p3.age=67;
p4.age=67;
p5.age=78;
pLinkStack-pushLinkStack((LinkNode*)p1);
pLinkStack-pushLinkStack((LinkNode*)p2);
pLinkStack-pushLinkStack((LinkNode*)p3);
pLinkStack-pushLinkStack((LinkNode*)p4);
pLinkStack-pushLinkStack((LinkNode*)p5);
while(pLinkStack-getSizeLinkStack()0)
Person*pData=(Person*)pLinkStack-getTopLinkStack();
cout"name:"pData-name"age:"pData-ageendl;
pLinkStack-popLinkStack();
deletepLinkStack;
pLinkStack=nullptr;
intmain()
test();
return0;
//運行程序:Ctrl+F5或調試“開始執行(不調試)”菜單
//調試程序:F5或調試“開始調試”菜單
//入門使用技巧:
//1.使用解決方案資源管理器窗口添加/管理文件
//2.使用團隊資源管理器窗口連接到源代碼管理
//3.使用輸出窗口查看生成輸出和其他消息
//4.使用錯誤列表窗口查看錯誤
//5.轉到“項目”“添加新項”以創建新的代碼文件,或轉到“項目”“添加現有項”以將現有代碼文件添加到項目
//6.將來,若要再次打開此項目,請轉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年業務工作總結范文(16篇)
- 《水滸傳》名著導讀課件7
- 2001年江蘇省無錫市中考數學真題【含答案、解析】
- 便秘用藥73課件
- 考研復習-風景園林基礎考研試題【基礎題】附答案詳解
- 2024年山東華興機械集團有限責任公司人員招聘筆試備考題庫及完整答案詳解
- 2025年黑龍江省五常市輔警招聘考試試題題庫含答案詳解(輕巧奪冠)
- 5.3標定NaOH溶液的準確濃度19課件
- 物理●福建卷丨2021年福建省普通高中學業水平選擇性考試物理試卷及答案
- 新解讀《DL 784-2001帶電更換330kV線路耐張單片絕緣子技術規程》新解讀
- 2025年全國統一高考數學試題全國二卷
- 門窗安裝考試題及答案
- 2025佛山市順德區輔警考試試卷真題
- 旅游度假區運營管理方案
- 健康城市有關課件
- T/CEMIA 026-2021濕電子化學品技術成熟度等級劃分及定義
- 浙江省金華市東陽市2025年七年級下學期期末數學試題及答案
- 2025-2030中國保鮮盒市場營銷策略及前景供需調查分析研究報告
- 珠江三角洲環境保護規劃綱要(2024-2025年)
- 林業法律法規試題及答案
- 江西省煙草專賣局(公司)筆試試題2024
評論
0/150
提交評論