5.算法

演示两个常用的算法:for_each和sort

复制代码
#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
#pragma warning(disable:4996)


void myfunction(int i)
{
    cout << "(" << i<<")";
}


int mycompare(const int &a, const int &b)
{
    return a < b;
}


int main() {


    vector<int> m(5);
    for (int i = 0; i < 5; i++)
    {
        m[i] = i + 1;
    }

    // 遍历这个数组的元素,并调用用户自己写的函数去打印数据
    for_each(m.begin(), m.end(), myfunction);
    
    printf("\n----------------排序前------------------\n");

    vector<int> v(10);
    for (int i = 0; i < 10; i++)
    {
        v[i] = rand() % 10;
    }

    for (int i = 0; i < 10; i++)
    {
        printf("%d\n",v[i]);
    }

    printf("\n----------------排序后------------------\n");
    //STL对数组进行排序的时候,STL实现了排序算法,但是排序的标准可以由用户自己来定义
    sort(v.begin(),v.end(),mycompare);
    for (int i = 0; i < 10; i++)
    {
        printf("%d\n", v[i]);
    }

    system("pause");
    return 0;
}
复制代码

运行结果:

(1)(2)(3)(4)(5)
----------------排序前------------------
1
7
4
0
9
4
8
8
2
4

----------------排序后------------------
0
1
2
4
4
4
7
8
8
9

 



如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
posted @   夜行过客  阅读(243)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示