ACM學習歷程8 Vector應用

2021-07-17 04:57:45 字數 984 閱讀 5100

vectors 包含著一系列連續儲存的元素

,其行為和陣列類似。訪問

vector

中的任意元素或從末尾新增元素都可以在常量級時間複雜度內完成,而查詢特定值的元素所處的位置或是在

vector

中插入元素則是線性時間複雜度。

應用舉例一:

輸入資料:含有不多於50

個的正整數n(

0<=n<=46),

輸出數:對於每個

n計算其第n項

fibonacci

數,每個結果獨佔一行。

輸入:610

輸出:8

55

#include #include using namespace std;

int main()

while(data!=0);

for(int j=0; j

#include#include#include#include#include#includeusing namespace std;

typedef struct book

stu;

bool comname(const stu &a,const stu &b)

string comp;

fin>>comp;

if(comp=="name")

sort(v.begin(),v.end(),comname);

else if(comp=="year")

sort(v.begin(),v.end(),comyear);

else

sort(v.begin(),v.end(),comprice);

for(p=v.begin(); p!=v.end(); p++)

{cout<

ACM學習歷程6 Vector向量容器

vector向量容器屬於第一類容器,支援隨機訪問迭代器,與陣列不同的是,向量容器在記憶體用盡時,會自動分配更大的連續記憶體區,將原來的元素複製到性的記憶體區中,並釋放舊的記憶體區。vector 實際上相當於乙個動態的陣列,隨機訪問的時間為常數,在尾部新增速度很快,但是在中間插入元素時速度會變慢,這一...

ACM學習歷程7 Vector向量容量擴充套件機制

vector向量容器相當於乙個動態的陣列,當向向量容器中不斷加入元素,若超過容器本身的大小限制,vector 會自動拓展大小,在這過程中涉及到記憶體的分配和 在vector 中有size 和capacity 函式,與之相對應的兩個函式 resize size type 和reserve size t...

ACM學習歷程29 搜尋演算法

搜尋演算法是利用計算機的高效能來有目的地窮舉乙個問題的部分或所有的可能情況,從而求出問題的解的一種方法。搜尋過程實際上是根據初始條件和擴充套件規則構造一棵解答樹並尋找符合目標狀態的節點的過程。涉及到的概念包括 狀態 狀態轉移 搜尋樹 狀態空間 可行解 最優解。一 相關概念 狀態 對問題以及事物狀態在...