c++常见算法

简介: C++中几种常见算法的示例代码,包括查找数组中的最大值、数组倒置以及冒泡排序算法。

枚举算法:找到数组中最大值

//找出数组中最大的元素
int array[5] = {
    300,350,200,400,250 };
int max = 0;
for (int i = 0; i < 5; i++)
{
   
    if (array[i] > max)
    {
   
        max = array[i];
    }
}
cout << max;

倒置算法:数组的倒置

    //数组元素倒置
    int array[5] = {
    1,2,3,4,5 };//定义数组
    for (int i = 0; i < 5; i++)//反转前
    {
   
        cout << array[i] << endl;
    }
    int start = 0;//起始点下标
    int end = sizeof(array) /sizeof(array[1])-1;
    int temp=0;//末位点下标

    while (start<=end)
    {
   
        temp = array[start];//首末元素内容交换
        array[start] = array[end];
        array[end] = temp;
        start++;
        end--;
    }
    for (int i = 0; i < 5; i++)//输出反转后的数组
    {
   
        cout << array[i] << endl;
    }

排序算法:冒泡排序

//冒泡排序:先找出最大的数值,然后不断找出更小的数值
//1.比较相邻的元素,如果A比B大,就交换
//2.对每一对相邻的元素作比较,找出第一个最大值
//3.重复以上步骤,每次比较次数-1,直到不需要比较
//排序总轮数=元素个数-1
//每轮对比次数=元素个数-排序轮数-1
int array[9] = {
    4,2,8,0,5,7,1,3,9 };
cout << "排序前:" << endl;
for (int i = 0; i < 9; i++)
{
   
    cout << array[i] << "\t";
    if (i == 8)
        cout << endl;
}
//排序
//外层循环为排序总轮数=元素个数-1
for (int i = 0; i < 9-1; i++)
{
   
    //内层循环为每轮对比次数=元素个数-排序轮数-1
    for (int j = 0; j < 9 - i - 1; j++)
    {
   
        if (array[j] > array[j + 1])
        {
   
            int temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }
    }
}

for (int i = 0; i < 9 ; i++)
{
   
    cout<< array[i] << "\t";
    if (i == 8)
        cout << endl;
}
目录
相关文章
|
29天前
|
算法 C++ 容器
C++标准库中copy算法的使用
C++标准库中copy算法的使用
14 1
|
3月前
|
算法 C++
算法笔记:递归(c++实现)
算法笔记:递归(c++实现)
|
29天前
|
算法 C++ 容器
【C++算法】双指针
【C++算法】双指针
|
2月前
|
搜索推荐 算法 C++
|
2月前
|
存储 算法 Serverless
|
2月前
|
存储 算法 搜索推荐
|
3月前
|
算法 数据中心 C++
基于C++雪花算法工具类Snowflake -来自chatGPT
基于C++雪花算法工具类Snowflake -来自chatGPT
|
3月前
|
算法 前端开发 Linux
【常用技巧】C++ STL容器操作:6种常用场景算法
STL在Linux C++中使用的非常普遍,掌握并合适的使用各种容器至关重要!
67 10
|
3月前
|
算法 数据处理 C++
C++一分钟之-迭代器与算法
【6月更文挑战第21天】C++ STL的迭代器统一了容器元素访问,分为多种类型,如输入、输出、前向、双向和随机访问。迭代器使用时需留意失效和类型匹配。STL算法如查找、排序、复制要求特定类型的迭代器,注意容器兼容性和返回值处理。适配器和算法组合增强灵活性,但过度使用可能降低代码可读性。掌握迭代器和算法能提升编程效率和代码质量。
41 3
|
4月前
|
缓存 负载均衡 算法
C++如何实现一致性算法
一致性哈希是一种用于分布式系统的负载均衡算法,旨在减少服务器增减导致的数据迁移。当有N台服务器时,通过哈希环将请求均匀分布到每台服务器,每台处理N/1的请求。若使用缓存如Redis,可进一步处理高并发场景。算法将哈希值空间视为环形,服务器和请求哈希后定位到环上,按顺时针方向找到第一台服务器作为负载目标。提供的C++代码实现了MD5哈希函数,以及一致性哈希算法的物理节点、虚拟节点和算法本身,以实现节点的添加、删除和请求映射。
32 1
C++如何实现一致性算法