1. list使用:
資料結構的雙鏈表一般來說對應stl中的list,並且list幾乎提供了雙鏈表操作的所有方法
常見的list操作有(至少是我用到的):
remove,
push_back,
#include#include using namespace std;
struct node
;void main()
ll.remove(nn);//刪除元素,單但是不會釋放空間,因為remove以及erase等操作只是破壞了鍊錶的結構,對於指標型別,不會釋放外部申請的空間,因此下邊的列印操作可以繼續執行,且不會產生段錯誤
list::iterator it;
cout<<"all the data in the list is:"#includeusing namespace std;
int main()
for(set::iterator it=ss.begin(); it!=ss.end(); it++)
cout<::iterator it=ss.begin(); it!=ss.end();)
else
} cout<
STL 什麼是STL 使用STL的好處
標準模板庫,由惠普實驗室開發的一系列的標準化的元件,目前是c 的一部分。stl的 廣義上講,分為三類 容器 迭代器 演算法,容器和演算法是通過迭代器無縫連線,string和wstring也是stl的一部分,內嵌在c 的編譯器中。特點 資料結構 容器 和演算法的分離,演算法有乙份即可,比如sort排序...
高效的使用STL
僅僅是個選擇的問題,都是stl,可能寫出來的效率相差幾倍 熟悉以下條款,高效的使用stl 1 stl基於拷貝的方式的來工作,任何需要放入stl中的元素,都會被複製 這也好理解,stl工作的容器是在堆內開闢的一塊新空間,而我們自己的變數一般存放在函式棧或另一塊堆空間中 為了能夠完全控制stl自己的元素...
高效的使用STL
僅僅是個選擇的問題,都是stl,可能寫出來的效率相差幾倍 熟悉以下條款,高效的使用stl 1 stl基於拷貝的方式的來工作,任何需要放入stl中的元素,都會被複製 這也好理解,stl工作的容器是在堆內開闢的一塊新空間,而我們自己的變數一般存放在函式棧或另一塊堆空間中 為了能夠完全控制stl自己的元素...