cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort

cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e)
stable_sort(b,e,p)

注意:
不适用于list容器,list有成员函数sort();
cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e) //stirng,按字符个数排序.能够保证位置间前面一致。比如 22 33 55. 555, 如果按个数排序, 22能够保证一直在33前。
stable_sort(b,e,p)//


复制代码
/*cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e)
stable_sort(b,e,p)

注意:
不适用于list容器,list有成员函数sort();
*/

#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <deque>

using namespace std;

template <typename TT9>
void print9(TT9 &ideq)
{
    for (TT9::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
        cout << *iter << ' ';
    cout << endl;
}

int main()
{
    deque<int> ideq;

    for (int i = 1; i <= 9; ++i)
        ideq.push_back(i);
    for (int i = 1; i <= 9; ++i)
        ideq.push_back(i);
    print9(ideq);

    sort(ideq.begin(),ideq.end());
    cout << "默认是less,从小到大排序后: " << endl;
    print9(ideq);

    //sort(ideq.begin(), ideq.end(),less<int>());//默认是less,从小到大排列
    sort(ideq.begin(), ideq.end(),greater<int>());//从大到小
    cout << "从大到小排序后: " << endl;
    print9(ideq);


    return 0;
}
复制代码

 

复制代码
/*cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort
sort(b,e)
sort(b,e,p)
stable_sort(b,e) //stirng,按字符个数排序.能够保证位置间前面一致。比如 22 33 55. 555, 如果按个数排序, 22能够保证一直在33前。
stable_sort(b,e,p)//

注意:
不适用于list容器,list有成员函数sort();
*/

#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>
#include <string>

using namespace std;

template <typename TT9>
void print9(TT9 &ideq)
{
    for (TT9::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
        cout << *iter << ' ';
    cout << endl;
}
bool lessLength(const string &s1, const string &s2)
{
    return s1.length() < s2.length();
}

int main()
{
    vector<string> svec;
    vector<string> svec2;
    svec.push_back("1xxxx");
    svec.push_back("2x");
    svec.push_back("3x");
    svec.push_back("4x");
    svec.push_back("5xx");
    svec.push_back("6xxxx");
    svec.push_back("7xx");
    svec.push_back("8xxx");
    svec.push_back("9xx");
    svec.push_back("10xxx");
    svec.push_back("11");
    svec.push_back("17");
    svec.push_back("12");
    svec.push_back("13");
    svec.push_back("14xx");
    svec.push_back("15");
    svec.push_back("16");
    

    svec2 = svec;
    print9(svec);

    sort(svec.begin(), svec.end(), lessLength);
    print9(svec);

    cout << "稳定的排序:" << endl;
    //stable_sort(b, e, p)//
    stable_sort(svec2.begin(), svec2.end(), lessLength);
    print9(svec2);



    return 0;
}
复制代码

 

posted @   txwtech  阅读(188)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示