1.類模板的定義及使用
2.樹的基本術語
使用類模板使使用者可以為類定義一種模式,使得類中的某些資料成員、某些成員函式的引數、某些成員函式的返回值能取任意型別。類模板是對一批僅僅成員資料型別不同的類的抽象,程式設計師只要為這一批類所組成的整個類家族建立乙個類模板,給出一套程式**,就可以用來生成多種具體的類,(這類可以看作是類模板的例項),從而大大提高程式設計的效率。1. 定義類模板的一般形式是:
template 《型別名 引數名1,型別名 引數名2,…>
class 類名
; 例如,template class smemory
2. 參考**
#include
#include
using
namespace
std;
const
int size= 8;
template
class smemory //定義類模板smemory
void mput(t x); //mput()函式的引數x的型別是t
t mget(); //宣告返回值型別為t的成員函式mget()
};template
void smemory:: mput(t x) //定義成員函式mput(),函式的引數型別為t,該函式用於為資料成員 data陣列的各個元素賦值
data[count] = x;
count++;
}template
t smemory:: mget() //定義成員函式mget(),函式的返回型別為t,該函式用於取出資料成員 data陣列的各個元素
count--;
return data[count];
}int main()
cout
<< "get mol =>";
for (i = 0; i < 8; i++)
cout
<< mo1.mget();
cout
<< "\nget mo2 => ";
for (i = 0; i < 8; i++)
cout
<< mo2.mget(); //呼叫成員函式mget()
system("pause");
}
1)結點的度(degree):結點的子樹個數;
2)樹的度:樹的所有結點中最大的度數;
3)葉結點(leaf):度為0的結點;
4)父結點(parent):有子樹的結點是其子樹的根節點的父結點;
5)子結點/孩子結點(child):若a結點是b結點的父結點,則稱b結點是a結點的子結點;
6)兄弟結點(sibling):具有同乙個父結點的各結點彼此是兄弟結點;
路徑和路徑長度:從結點n1到nk的路徑為乙個結點序列n1,n2,…,nk。ni是ni+1的父結點。路徑所包含邊的個數為路徑的長度;
7)祖先結點(ancestor):沿樹根到某一結點路徑上的所有結點都是這個結點的祖先結點;
8)子孫結點(descendant):某一結點的子樹中的所有結點是這個結點的子孫;
9)結點的層次(level):規定根結點在1層,其他任一結點的層數是其父結點的層數加1;
10)樹的深度(depth):樹中所有結點中的最大層次是這棵樹的深度;
面試中的二叉樹題目
9/20/2016 4:41:25 pm
C 每日一練(this指標 函式模板)
1.this指標的理解 2.函式模板的定義和使用 要理解this指標,先要理解class的意思。class應該理解為一種型別,象int,char一樣,是使用者自定義的型別。雖然比int char這樣build in型別複雜的多,但首先要理解它們一樣是型別 用這個型別可以來宣告乙個變數,比如int x...
C 每日一練(STL Queue)
queue 佇列 queue 是乙個容器介面卡 container adaptor 型別,被特別設計用來執行於fifo first in first out 場景,在該場景中,只能從容器一端新增 insert 元素,而在另一端提取 extract 元素。1 有何用?queue 提供了一系列成員函式用...
C 每日一練(STL Bitset)
一 今日課題 bitset 二 實戰演練 c 語言的乙個類庫,用來方便地管理一系列的bit位而不用程式設計師自己來寫 1 有何用?有些程式要處理二進位制位的有序集,每個位可能包含的是0 關 或1 開 的值。位是用來儲存一組項或條件的yes no資訊 有時也稱標誌 的簡潔方法。標準庫提供了bitset...