資源描述:
《標準模板庫STL課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、類模板類模板的作用:除了可以定義模版函數(shù)還可以定義模版類,此時類成員函數(shù)所操作的數(shù)據的類型需要通過傳入類型參數(shù)指定.類模板定義的通用形式:templateclassclass-name{….};例如:templateMyClass{....};在類模板以外定義其成員函數(shù):templatereturn-typeclass-name::func-name(args….){….}定義模板類的對象:class-nameobject;實例:堆棧類
2、//此堆棧可以存儲任何類型的對象templateclassStack{public:Stack(int=10);~Stack(){delete[]stackPtr;}boolpush(constT&t);boolpop(T&t);boolisEmpty()const{returntop==-1;}boolisFull()const{returntop==size-1;}private:intsize;inttop;T*stackPtr;};templateStack::Stack(ints){size=s>
3、0?s:10;top=-1;stackPtr=newT[size];}templateboolStack::push(constT&pushValue){if(!isFull()){stackPtr[++top]=pushValue;returntrue;}returnfalse;}templateboolStack::pop(T&popValue){if(!isEmpty()){popValue=stackPtr[top--];returntrue;}returnfalse;}intmain(){S
4、tackdoubleStack(5);doubledoubleValue=1.1;while(doubleStack.push(doubleValue)){cout<intStack(6);//…StackstrS
5、tack(6);//…return0;}脫離特定的數(shù)據類型的算法和數(shù)據結構,通用的邏輯.容器(container)迭代器(iterator用于索引容器)算法(algorithm作用于容器)標準模板庫STL容器類模板向量(vector)雙向列表(list)雙端隊列(deque)堆棧(LIFO)映射(map)集合(set)比特集合(bitset)vector向量(vector)動態(tài)數(shù)組,順序結構,大小不固定,可以在程序運行時增加或減少.常用成員函數(shù):vector();//構造函數(shù)//第一個參數(shù)指定元素個數(shù),第二個是元素初值,TYPE為存儲的數(shù)據類型
6、vector(int,TYPE);vector(input_iteratorstart,input_iteratorend);unsignedintsize()constboolempty()voidpush_back(constT&x)voidpopback()TYPE&operator[intindex]iteratorerase(iteratorloc)iteratorinsert(iteratorposition,constTYPE&x)迭代器:容器的內嵌類,用于遍歷容器元素.參考代碼vector.cpplistlist()//構造函數(shù)
7、list(unsignedint)//指定鏈表結點個數(shù)//第一個參數(shù)指定元素個數(shù),第二個是元素初值,TYPE為存儲的數(shù)據類型list(unsignedint,constTYPE&value)boolempty()constunsignedintsize()constTYPE&front()//返回頭TYPE&back()//返回尾voidpush_front(constTYPE&x)//加入頭voidpop_front()//刪除頭voidpush_back(constTYPE&x)//加入尾voidpop_back()//刪除尾iterato
8、rinsert(iteratorposition,constT&x)//在position前插入元素xiteratorerase(iteratorpo