C++——深入簡出之Stack

C++深入簡出之Stack

SingleList :單鏈表

CreateList()

CreateNode()

InsertHead()

InsertTail()

InsertAppoin();

DeleteHead();

DeleteTail();

DeleteAppo();

IsEmpty();

PrintList();

DoubleList : 雙向鏈表

Queue+Stack: 隊列和棧

-------------------------------

深入簡出

FILO: 先進後出(後來居上)

NO.1 STL---stack

大牛寫: 標準模板類庫

1.1 模板

1.2 類庫

list,vector(向量),queue,deque,stack

.set(集合),map(映射) x=y

Multimap,multiset;

容器

迭代器:iterator

算法:Algorithm

仿函數:類模仿函數的行為

NO.2 ArrayStack -數組棧: 數組實現

2.1 C++引用

2.2 類和對象

2.3 ADT過程

Abstract Data Type

2.4 析構問題

2.5 數組內存擴增

2.6 Algorithm 算法 :copy

NO.3 ListStack-鏈式棧: 鏈表實現

3.1 鏈表在實際應用中怎麼使用

3.2 無表頭鏈表的操作

-------------------------------

Hash : 哈希

Heap:堆

Tree:二叉樹

Graph:圖

DFS: 深度優先-----stack變形算法

迷宮求解問題

BFS: 廣度優先

模板源碼::::

#include

#include

/*

模板:把類型當作一種參數來處理一種方式

*/

using namespace std;

template

T Max(T a, T b)

{

return a > b ? a : b;

}

//命名空間

namespace MM

{

int mm = 1;

int a = 1;

int b = 3;

}

using namespace MM;

template

class A

{

public:

T a;

};

int main()

{

//實例化,就是給模板傳入類型

cout<("abc", "bca")<

cout <(1, 2) << endl;

//作用域分辨符 ::

cout <

cout << a << endl;

A aa;

aa.a = 1;

system("pause");//防止閃屏

return 0;

}

C++——深入簡出之Stack


分享到:


相關文章: