最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++自定義實(shí)現(xiàn)比較器

 更新時(shí)間:2024年01月16日 17:01:13   作者:莫潯  
這篇文章主要為大家詳細(xì)介紹了如何使用C++自定義實(shí)現(xiàn)比較器,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

sort() 中的比較函數(shù) compare 要聲明為靜態(tài)成員函數(shù)或全局函數(shù),不能作為普通成員函數(shù),否則會報(bào)錯(cuò)。

cmpChar實(shí)現(xiàn)功能:大寫字母大于小寫字母,小寫字母按 a-z 升序,大寫字母按 A-Z 升序

1 在類內(nèi)部定義比較器

聲明為靜態(tài)成員函數(shù)

class Solution {
public:
    void CharacterSort(const vector<char> e_char)
    {
      cout << "before:" << endl;
        for (auto i : e_char) {
            cout << i;
        }
        cout << endl;

        std::sort(e_char.begin(), e_char.end(), cmpChar);
        cout << "after:" << endl;
        for (auto i : e_char) {
            cout << i;
        }
        cout << endl;
    }

private:
    static bool cmpChar(const char &a, const char &b)
    {
        if (a <= 'Z' && b >= 'a')
            return false;
        else if (b <= 'Z' && a >= 'a')
            return true;
        else
            return a < b;
    }

};

輸入:
vector e_char = {‘C’,‘B’,‘A’,‘c’,‘b’,‘a’};
輸出:
before:
CBAcba
after:
abcABC

2 在函數(shù)內(nèi)部定義比較器

lamda表達(dá)式

class Solution {
public:
    void CharacterSort(const vector<char> e_char)
    {
      cout << "before:" << endl;
        for (auto i : e_char) {
            cout << i;
        }
        cout << endl;
        auto cmpChar = [](const char &a, const char &b) {
            if (a <= 'Z' && b >= 'a')
                return false;
            else if (b <= 'Z' && a >= 'a')
                return true;
            else
                return a < b;
        };

        std::sort(e_char.begin(), e_char.end(), cmpChar);
        cout << "after:" << endl;
        for (auto i : e_char) {
            cout << i;
        }
        cout << endl;
    }

3 全局函數(shù)比較器

using namespace std;

bool cmpChar(const char &a, const char &b)
    {
        if (a <= 'Z' && b >= 'a')
            return false;
        else if (b <= 'Z' && a >= 'a')
            return true;
        else
            return a < b;
    }

class Solution {
public:
    void CharacterSort(const vector<char> e_char)
    {
      cout << "before:" << endl;
        for (auto i : e_char) {
            cout << i;
        }
        cout << endl;

        std::sort(e_char.begin(), e_char.end(), cmpChar);
        cout << "after:" << endl;
        for (auto i : e_char) {
            cout << i;
        }
        cout << endl;
    }

以上就是C++自定義實(shí)現(xiàn)比較器的詳細(xì)內(nèi)容,更多關(guān)于C++比較器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++ OpenCV實(shí)戰(zhàn)之網(wǎng)孔檢測的實(shí)現(xiàn)

    C++ OpenCV實(shí)戰(zhàn)之網(wǎng)孔檢測的實(shí)現(xiàn)

    這篇文章主要介紹了如何利用C++和OpenCV實(shí)現(xiàn)網(wǎng)孔檢測,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)OpenCV有一定幫助,感興趣的小伙伴可以了解一下
    2022-05-05
  • C++實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)

    C++實(shí)現(xiàn)飛機(jī)訂票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)飛機(jī)訂票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C/C++計(jì)算程序執(zhí)行時(shí)間的幾種方法實(shí)現(xiàn)

    C/C++計(jì)算程序執(zhí)行時(shí)間的幾種方法實(shí)現(xiàn)

    本文主要介紹了C/C++計(jì)算程序執(zhí)行時(shí)間的幾種方法實(shí)現(xiàn),包括使用clock()函數(shù)、使用庫和使用time.h頭文件中的time()函數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • C/C++實(shí)現(xiàn)通訊錄管理系統(tǒng)(附源碼)

    C/C++實(shí)現(xiàn)通訊錄管理系統(tǒng)(附源碼)

    這篇文章主要為大家詳細(xì)介紹了如何利用C++實(shí)現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-12-12
  • C++左值與右值核心判斷方法

    C++左值與右值核心判斷方法

    C++ 11 引入右值引用和移動語義后,左值右值的區(qū)分變得更加重要,本文介紹C++左值與右值核心判斷方法,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2026-06-06
  • C++中使用FFmpeg適配自定義編碼器的實(shí)現(xiàn)方法

    C++中使用FFmpeg適配自定義編碼器的實(shí)現(xiàn)方法

    本文介紹了在C++中使用FFmpeg庫進(jìn)行自定義編碼器適配的實(shí)現(xiàn)方法。文章通過具體的代碼示例,介紹了FFmpeg的基本使用方法和自定義編碼器的實(shí)現(xiàn)過程,幫助讀者了解如何在C++中進(jìn)行音視頻編碼和解碼的開發(fā)工作,并能夠?qū)崿F(xiàn)自定義的編碼器適配
    2023-04-04
  • C語言超詳細(xì)講解雙向帶頭循環(huán)鏈表

    C語言超詳細(xì)講解雙向帶頭循環(huán)鏈表

    帶頭雙向循環(huán)鏈表:結(jié)構(gòu)最復(fù)雜,一般用在單獨(dú)存儲數(shù)據(jù)。實(shí)際中使用的鏈表數(shù)據(jù)結(jié)構(gòu),都是帶頭雙向循環(huán)鏈表。另外這個(gè)結(jié)構(gòu)雖然結(jié)構(gòu)復(fù)雜,但是使用代碼實(shí)現(xiàn)以后會發(fā)現(xiàn)結(jié)構(gòu)會帶來很多優(yōu)勢,實(shí)現(xiàn)反而簡單
    2023-02-02
  • QTableWidget設(shè)置只讓某一列可編輯的實(shí)現(xiàn)

    QTableWidget設(shè)置只讓某一列可編輯的實(shí)現(xiàn)

    本文介紹了如何將QTableWidget的某一列設(shè)置為可編輯,以便用戶可以輸入自定義數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • c語言clock函數(shù)使用示例

    c語言clock函數(shù)使用示例

    這篇文章主要介紹了c語言clock函數(shù)使用示例,需要的朋友可以參考下
    2014-04-04
  • C/C++可變參數(shù)的使用

    C/C++可變參數(shù)的使用

    可變參數(shù)的使用方法遠(yuǎn)遠(yuǎn)不止以下幾種,不過在C,C++中使用可變參數(shù)時(shí)要小心,在使用printf()等函數(shù)時(shí)傳入的參數(shù)個(gè)數(shù)一定不能比前面的格式化字符串中的’%’符號個(gè)數(shù)少,否則會產(chǎn)生訪問越界,運(yùn)氣不好的話還會導(dǎo)致程序崩潰
    2013-09-09

最新評論

施甸县| 永州市| 民勤县| 莆田市| 泸水县| 长治县| 乐清市| 时尚| 察哈| 来宾市| 和龙市| 武乡县| 卓资县| 昌都县| 都兰县| 仙游县| 三江| 巴塘县| 孝义市| 大悟县| 灌阳县| 蒙自县| 无极县| 眉山市| 西宁市| 客服| 江北区| 清丰县| 山阴县| 如东县| 华安县| 特克斯县| 来安县| 武清区| 沂南县| 十堰市| 老河口市| 临沧市| 安义县| 鄂州市| 牟定县|