C++ 基础算法源码及解析

本文详细介绍了冒泡排序、选择排序、插入排序以及希尔排序的C++实现,通过示例代码展示了这些基础排序算法的工作原理和步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

冒泡排序:

两两比较,较大的往后,较小的往前。

void BubbleSorting(std::vector<int>& testdata)//冒泡排序,从小到大;
{
    int nSize = testdata.size();
    if(nSize  < = 1)
        return;
    int tmp,nex;
    for(int i = 0;i<nSize-1;i++)//遍历size-1遍
    {
        nex = 0;//设定一个初始的值,为第一个数
        for(int j = 1;j<(nSize - i);j++)//完成一遍以后应该保证最大值,放在了最后面;
        {
            if(testdata[nex] > testdata[j])//如果选定的值大于后面的值,就将选定值于后面的值进行交换
            {
                tmp = testdata[j]; //交换选定值和比较值
                testdata[j] = testdata[nex];
                testdata[nex] = tmp;
            }
            nex = j;//选定值的序号也进行更新
        }  
    }
}

选择排序:

不断地从未排序的部分筛选出最大值和最小值,(可以只筛选一个最值)

void BubbleSorting(std::vector<int>& testdata)
{
    int nSize 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值