C++學習二 vector的用法(使用sort對於vector排序)


一、vector的介紹

 vector是C++里面的一個容器,也是我們數學上面理解的向量,有一些比較常見的操作。

二、vector的定義

#include<vector>
using namespace std;

//int 說明的是vector存儲的數據類型 vector
<int> odd_vector;

三、vector的一些操作(具體調用方式自行查找)

1.push_back   在數組的最后添加一個數據
2.pop_back    去掉數組的最后一個數據 
3.at                得到編號位置的數據
4.begin           得到數組頭的指針
5.end             得到數組的最后一個單元+1的指針
6.front        得到數組頭的引用
7.back            得到數組的最后一個單元的引用
8.max_size     得到vector最大可以是多大
9.capacity       當前vector分配的大小
10.size           當前使用數據的大小
11.resize         改變當前使用數據的大小,如果它比當前使用的大,者填充默認值
12.reserve      改變當前vecotr所分配空間的大小
13.erase         刪除指針指向的數據項
14.clear          清空當前的vector
15.rbegin        將vector反轉后的開始指針返回(其實就是原來的end-1)
16.rend          將vector反轉構的結束指針返回(其實就是原來的begin-1)
17.empty        判斷vector是否為空(vector.empty())
18.swap         與另一個vector交換數據
三、使用sort對於vector分類

用法:

#inlcude <algorithm> 
sort(vector.begin(),vector.end());

例子如下:

#include <algorithm> //使用sort需要包含這個頭文件
//這個方法的主要的作用是把一個向量里面的奇數找出來放到原來的位置
class Kata
{
public:
    std::vector<int> sortArray(std::vector<int> array)
    {
        if(array.empty())
          return array;
        std::vector<int> odd_vector;
        for(int i=0;i<array.size();i++)
        {
          if(array[i]%2==1)
          {
             odd_vector.push_back(array[i]);
          }
        }
        if(odd_vector.size()>0)
        {
            //sort對於vector向量的排序,升序排列
            sort(odd_vector.begin(),odd_vector.end());
            int number=0;
            for(int i=0;i<array.size();i++)
              {
                if(array[i]%2==1)
                {
                   array[i]=odd_vector[number];
                   number++;
                 }
              }
        }
        return array;
    }
};

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM