快速排序c++代码_排序算法笔记(C++版)

795ca81056412da799605cbf8f1e75fe.png

注: ①第一个算法给出了完整的测试程序,其余的为避免重复及节省空间,只显示排序算法部分代码 ②运行结果的程序耗时每次运行略有不同,仅供大致对比参考

1.冒泡排序

时间复杂度:O(n)[最好],O(n^2^)[平均],O(n^2^)[最差] 空间复杂度:O(1) 代码:

#include<iostream>
#include<windows.h>//计时用
using namespace std;

//冒泡排序算法
void bubbleSort(int data[], int n)
{
    
    //打印原始数据信息
    cout << "n 待排序数据为:";
    for (int i = 0; i < n; i++) 
        cout << data[i] << " ";
    //算法计时
    LARGE_INTEGER  nFreq, t1, t2;
    double dt;
    QueryPerformanceFrequency(&nFreq);
    QueryPerformanceCounter(&t1);

    //排序算法
    int count = 0;
    for (int i = 0; i < n - 1; i++)
    {
    
        bool flag = true;//排序提前完成标志
        for (int j = 0; j < n - i - 1; j++)
        {
    
            if (data[j] > data[j + 1])//改成'<'则为降序
            {
    
                swap(data[j], data[j + 1]);
                count++;
                flag = false;
            }
        }
        if (flag) break;
    }

    //打印结果信息
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值