在C ++中使用is_sorted时遇到麻烦

时间:2017-01-03 06:40:17

标签: c++ c++11 vector stl

#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int i, j, t;
    vector <int> v;
    scanf("%d", &t);

    while(t--) {
        scanf("%d", &j);
        v.push_back(j);
    }

    if(is_sorted(v.begin(), v.end()))
        printf("Sorted\n");
    else
        printf("Unsorted\n");

    return 0;
}

这是我的C ++代码,用于检查矢量是否已排序。但我的IDE(代码块)没有编译它并给出消息&#34; is_sorted未在此范围内声明&#34;。这段代码有什么问题?

1 个答案:

答案 0 :(得分:0)

您需要添加编译标记。

[root@router ~]# cat t.cpp 
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
        int i, j, t;
        vector <int> v;
        scanf("%d", &t);

        while(t--) {
                scanf("%d", &j);
                v.push_back(j);
        }

        if(is_sorted(v.begin(), v.end()))
                printf("Sorted\n");
        else
                printf("Unsorted\n");

        return 0;
}
[root@router ~]# g++ -o t t.cpp -std=c++11

这是std::is_sorted reference