std :: sortを使用してstd :: arrayをソートする方法は?

ジャック
#include <iostream>
#include <array>
#include <algorithm>
#include <cstring>

using namespace std;

int main() {
    array<char, 20> test{"HelloWorld"}, tmp;

    // method 1
    tmp = test;
    sort(tmp.begin(), tmp.begin() + strlen(tmp.begin()));
    cout << "result: " << tmp.data() << endl;

    // method 2
    tmp = test;
    sort(tmp.begin(), tmp.end());
    cout << "result: " << tmp.data() << endl;

    return 0;
}

std::array 方法1でソートできます。しかし、それはとても醜いです。

私は方法2を好みますが、何も返されません。どうしたんだ?

マーティンボナーはモニカをサポートしています

2番目の方法は、すべての\0要素を前面に並べ替えることです。(彼ら他のどのキャラクターよりも少ないです。

あなたはそれを試してみて、印刷するときに.data()、あなたが得るchar const*ストリームクラスにC-文字列のように扱われているオブジェクトのバックを。これはnullで終了する文字列です。最初の文字はnullであるため、何も出力されません。

あなたはで修正することができます

    auto cmp = [](char a, char b) { return a != '\0' && a<b; }
    sort(tmp.begin(), tmp.end(), cmp);

これは\0、最後にソートするコンパレータを使用します。

しかし、ジェリー・コフィンがコメントで言ったように、そうでstd::arrayはありませんstd::string-あなたのニーズに合ったものを使用してください(おそらくstd::stringこの場合)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

std :: partial_sortを使用してstd :: mapをソートできますか?

分類Dev

std :: sortを使用してマトリックスをソートする

分類Dev

std :: sortで配列の配列をソートする方法は?

分類Dev

std :: partial_sumを使用してstd :: mapに出力する方法は?

分類Dev

std :: binary_searchまたはstd :: sortを使用して構造体の配列を並べ替える方法

分類Dev

特定の数値を無視してstd :: vectorをソートする方法は?

分類Dev

テンプレートを使用して「std :: array」の「using」を宣言する方法

分類Dev

カスタム比較関数を使用してstd :: sort()を使用してベクトル文字列をソートする際の問題

分類Dev

std :: sortを使用して配列から特定のオブジェクトを並べ替える方法は?

分類Dev

list-initializationを使用して `std :: map <std :: string、CodeInfo>`を初期化する方法は?

分類Dev

std :: copy_nを使用してstd :: vectorの内容を出力する方法は?

分類Dev

std :: sortを使用してC文字列の配列を並べ替える

分類Dev

std :: sortを使用して2次元のc配列を並べ替えます

分類Dev

std :: arrayを引数として持つstd :: make_sharedを使用してstd :: shared_ptrを初期化する

分類Dev

イテレータを使用してstd :: listをソートする

分類Dev

std :: arrayを使用してツリーを作成する

分類Dev

std :: range :: minを使用してstd :: mapに投影する

分類Dev

C ++はpriority_queueでstd :: greater()を使用してソートします

分類Dev

std :: bindを使用して、std :: functionに格納します

分類Dev

std :: vector <mutex *>を使用してstd :: lock()を呼び出す

分類Dev

std :: sortでcdef関数を比較関数として使用できません

分類Dev

std :: transformとstd :: mem_fnを正しく使用する方法は?

分類Dev

std :: accumulateビューを使用してstd :: ranges :: views :: values

分類Dev

抽出を使用して、コピー不可能な要素をstd :: setからstd :: mapに移動する方法は?

分類Dev

単一のforループを使用してstd :: map <string、int>とstd :: vector <int>を反復処理する方法は?

分類Dev

初期化リストを使用してstd :: Variantを初期化する方法は?

分類Dev

`std :: sort()`はスレッドを使用してパフォーマンスを向上させますか?

分類Dev

std :: istream_iteratorを使用したstd :: transform

分類Dev

std :: make_sharedを使用したstd :: weak_ptr割り当て

Related 関連記事

  1. 1

    std :: partial_sortを使用してstd :: mapをソートできますか?

  2. 2

    std :: sortを使用してマトリックスをソートする

  3. 3

    std :: sortで配列の配列をソートする方法は?

  4. 4

    std :: partial_sumを使用してstd :: mapに出力する方法は?

  5. 5

    std :: binary_searchまたはstd :: sortを使用して構造体の配列を並べ替える方法

  6. 6

    特定の数値を無視してstd :: vectorをソートする方法は?

  7. 7

    テンプレートを使用して「std :: array」の「using」を宣言する方法

  8. 8

    カスタム比較関数を使用してstd :: sort()を使用してベクトル文字列をソートする際の問題

  9. 9

    std :: sortを使用して配列から特定のオブジェクトを並べ替える方法は?

  10. 10

    list-initializationを使用して `std :: map <std :: string、CodeInfo>`を初期化する方法は?

  11. 11

    std :: copy_nを使用してstd :: vectorの内容を出力する方法は?

  12. 12

    std :: sortを使用してC文字列の配列を並べ替える

  13. 13

    std :: sortを使用して2次元のc配列を並べ替えます

  14. 14

    std :: arrayを引数として持つstd :: make_sharedを使用してstd :: shared_ptrを初期化する

  15. 15

    イテレータを使用してstd :: listをソートする

  16. 16

    std :: arrayを使用してツリーを作成する

  17. 17

    std :: range :: minを使用してstd :: mapに投影する

  18. 18

    C ++はpriority_queueでstd :: greater()を使用してソートします

  19. 19

    std :: bindを使用して、std :: functionに格納します

  20. 20

    std :: vector <mutex *>を使用してstd :: lock()を呼び出す

  21. 21

    std :: sortでcdef関数を比較関数として使用できません

  22. 22

    std :: transformとstd :: mem_fnを正しく使用する方法は?

  23. 23

    std :: accumulateビューを使用してstd :: ranges :: views :: values

  24. 24

    抽出を使用して、コピー不可能な要素をstd :: setからstd :: mapに移動する方法は?

  25. 25

    単一のforループを使用してstd :: map <string、int>とstd :: vector <int>を反復処理する方法は?

  26. 26

    初期化リストを使用してstd :: Variantを初期化する方法は?

  27. 27

    `std :: sort()`はスレッドを使用してパフォーマンスを向上させますか?

  28. 28

    std :: istream_iteratorを使用したstd :: transform

  29. 29

    std :: make_sharedを使用したstd :: weak_ptr割り当て

ホットタグ

アーカイブ