返回列表 發帖

【1-3】vector 練習

本帖最後由 tonyh 於 2024-11-22 23:51 編輯
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> v;
  4. //vector<int> v(5);     //給定5個初始值為0的成員
  5. //vector<int> v(5, 99);     //給定5個初始值為99的成員
  6. //vector<int> v{1,2,3,4,5};
  7. //vector<int> v={1,2,3,4,5};
  8. bool compare(int a, int b)
  9. {
  10.     return a>b;
  11. }
  12. int main()
  13. {
  14.     v.push_back(7);   //新增元素
  15.     v.push_back(2);
  16.     v.push_back(1);
  17.     v.push_back(3);
  18.     v.push_back(11);
  19.     v.push_back(5);

  20.     //cout<<v.size()<<endl;    //元素數量
  21.     //cout<<v.empty()<<endl;   //是否為空

  22.     /*for(int i=0; i<v.size(); i++)
  23.         cout<<v[i]<<endl;*/
  24.     /*for(auto it=v.begin(); it!=v.end(); it++)
  25.         cout<<*it<<endl;*/

  26.     v.pop_back();       //從最後一個位置刪除元素
  27.     v.erase(v.begin()+1);      //從特定位置刪除元素
  28.     v.insert(v.begin()+1, 99); //從特定位置插入元素
  29.     //v.clear();    //刪除全部元素

  30.     for(int i: v)
  31.         cout<<i<<endl;
  32.     cout<<"-------"<<endl;

  33.     sort(v.begin(), v.end());   //基礎排序

  34.     for(int i: v)
  35.         cout<<i<<endl;
  36.     cout<<"-------"<<endl;

  37.     sort(v.begin(), v.end(), compare);   //遞減排序

  38.     for(int i: v)
  39.         cout<<i<<endl;
  40.     cout<<"-------"<<endl;

  41.     auto it=find(v.begin(), v.end(), 7);   //find()會回傳尋找對象的指標位址
  42.     if(it!=v.end())    //若找不到會回傳end()指向的位址
  43.         cout<<"於索引位置"<<it-v.begin()<<"找到"<<*it<<endl;
  44.     else
  45.         cout<<"找不到元素"<<endl;

  46.     it=find(v.begin(), v.end(), 8);
  47.     if(it!=v.end())
  48.         cout<<"於索引位置"<<it-v.begin()<<"找到"<<*it<<endl;
  49.     else
  50.         cout<<"找不到元素"<<endl;

  51.     return 0;
  52. }
複製代碼

返回列表