« 23頁第五行--11又1/2逆向管理 | 回到主頁面 | 碩士班不是過渡嗎? »

April 27, 2004

STL學習-Vector初探與學習心得


將此網頁加入【百度收藏】... 加入此網頁到【del.icio.us 書籤】 technorati

Vector是STL容器裡面最簡單的一個,但是在資料結構裡面也鮮少有提到,但是在STL裡面卻時常利用這個資料結構。在這裡擺上我今天學習Vector的一些重點,讓大家分享一下。

  • 引用STLPORT版本     :stlport4.0在bcb5.5上實做
  • 引用函示庫 <vector> :位置: 您安裝STLPORT的位置\stlport\vector
  • 實際運作函示庫          :位置: 您安裝STLPORT的位置\stlport\stl\_vector.h

Vector是一個線性空間,但是為一個可以變動大小的線性空間,在宣告之後整個空間就像陣列(array)一樣為一個連續的線性空間,亦可以在上面進行類似Array的操作(比如說直接給值 a[i]=5 ;  或是直接顯示值 a[i]),而且Vector還可以隨意插入任何一個位置之中,並且使之後的元素均往後退一個(這個在array之中倒是需要實做上去加強的功能),並且最重要的是在Vector之中,他的位置是可以變動大小的。也就是若你一開始宣告的Vector大小為5,但是當你插入第6個元素的時候,整個Vector會自動變更大小到現在的兩倍(10個)。針對這個功能,所以Vector在使用上變的相當的方便,加上STL中泛型的設計概念使得Vector變得更強大,能解決的問題也就更多。整理Vector的特點如下:

Vector特點

  1. 線性空間
  2. 與陣列操作相同
  3. 可以任意插入在任何位置
  4. 若是空間不足,將會自動擴大兩倍的空間

在今天的學習筆記之中,我附上一個自己的範例程式碼,方便各位如果要測試程式的時候一個參考依據:



(請輸入以下的驗證碼)