(假設a1, a2為兩個array)
- 比較兩個array是否相同
- 不能直接a1==a2, a1!=a2
- 應該要用for/while loop掃描一次,看看是否全部相同
- 複製array
- 不能直接a1=a2
- 應該要用for/while loop掃描一次,一個一個element複製
- array大小
- 沒有快速的方法
- 應該要用sizeof(a1)/sizeof(a1[0])
因為array的名字只是array起點的記憶體位置,所以往往不能直覺的把他當作普通變數運算。
C++中有一個新東西要作vector,是一種template,定義在<vector>標頭檔裡面。宣告方式:
vector<type> name(size);example:
vector<int> v1(10);讀取裡面elements的方式和array相同,使用中括號[ ],此外,上述的三件事情他可以簡易的完成:
(假設v1, v2為vector)
- v1==v2, v1!=v2
- v1 = v2
- v1.size(), v2.size()
Here's a simple example:
#include <iostream> #include <vector> using namespace std; int main(){ //variables int i; //vector definition vector<int> v1(10); vector<int> v2(10); //input for(i=0 ; i<v1.size() ; i++){ cin >> v1[i]; } //output for(i=0 ; i<v1.size() ; i++){ cout << v1[i] << "\t"; } cout << endl; //copy v2 = v1; // copy v1 to v2 //output v2 for(i=0 ; i<v1.size() ; i++){ cout << v1[i] << "\t"; } cout << endl; //compare if(v1 == v2) cout << "same." << endl; else cout << "different." << endl; //do some change and compare again v2[0] = -1; if(v1 == v2) cout << "same." << endl; else cout << "different." << endl; return 0; }
No comments:
Post a Comment