C 學習記錄之STL函式

2021-09-30 13:23:16 字數 1555 閱讀 9662

1、排序函式

sort ():對給定區間所有元素進行排序  

stable_sort:                           對給定區間所有元素進行穩定排序  

partial_sort:                           對給定區間所有元素部分排序  

partial_sort_copy:                對給定區間複製並排序  nth_element  找出給定區間的某個位置對應的元素  is_sorted  判斷乙個區間是否已經排好序  partition,使得符合某個條件的元素放在前面  

stable_partition:相對穩定的使得符合某個條件的元素放在前面

使用排序函式要加入#include 標頭檔案

(1)對基本型別資料從小到大排序

sort(vec.begin(),vec.end(),less());
(2)對基本型別資料從大到小排序

sort(vec.begin(),vec.end(),greater());
(3)對自定義結構體從小到大排序或者從大到小排序,自定義結構體必須過載operator 《函式來指定按照什麼規則來排序

struct tgame//自定義排序結構體

bool operator <(const tgame &t) const//過載operator《函式指定按照inum從小到大排序

sort(vec.begin(),vec.end());

(4)對類排序

class game 

bool operator <(const game &t) const

};

std::vectorvec;

vec.clear();

game redgames[5];

redgames[0].inum=10;

memcpy(redgames[0].name,"redcf ",sizeof(redgames[0].name));

redgames[1].inum=20;

memcpy(redgames[1].name,"nizhan ",sizeof(redgames[1].name));

redgames[2].inum=20;

memcpy(redgames[2].name,"xuanwu ",sizeof(redgames[2].name));

redgames[3].inum=50;

memcpy(redgames[3].name,"yingxiong ",sizeof(redgames[3].name));

redgames[4].inum=200;

memcpy(redgames[4].name,"kekekele ",sizeof(redgames[4].name));

for(int i=0;i<5;i++)

sort(vec.begin(),vec.end());

c 學習記錄之STL

總結想再系統學習一下c 搭建這個筆記架構,長期更新 btw想每天更新一下 如果有錯誤地方,煩請多多指教。在學習過程中,也希望能養成良好的 習慣,主要就是按照華為 風格來碼 良好的 風格很重要,我們都要逐漸養成 stl standard template library,標準模版庫 是惠普實驗室開發的...

c 學習之STL 函式物件

概念 1.過載函式呼叫操作符的類,其物件常稱為函式物件2.函式物件使用過載的 時,行為類似函式呼叫,也叫仿函式 本質 函式物件 仿函式 是乙個類,不是乙個函式 特點 1.函式物件在使用時,可以像普通函式那樣呼叫,可以有引數,可以有返回值 2.函式物件超出普通函式的概念,函式可以有自己的狀態 3.函式...

STL 學習筆記 之 函式物件

c stl,三大核心元件 containers,iterators以及algorithms,即容器,迭代器和演算法。另外還一種重要元件,即函式物件 functionobject r 函式物件又稱為仿函式 functor 函式物件其實就是乙個行為類似函式的 東西 它可以沒有引數,也可以帶有若干引數,其...