冒泡排序:

代码如下:

#include <iostream>
using namespace std;void BubbleSort(int *a, int len)
{//数组下标从0开始for (int i = 1;i<=len-1;i++)//共需要len-1趟for (int j = 1; j <= len - i; j++)//第i趟的比较次数是len-i次if (a[j - 1] > a[j]){int temp = a[j - 1];a[j - 1] = a[j];a[j] = temp;}
}int main()
{int a[] = { 1231,34,532,5,4,124,214,12,3,14 };BubbleSort(a, 10);for (int i = 0; i < 10; i++) cout << a[i] << " ";cout << endl;return 0;
}

冒泡排序(优化):

代码如下:

#include <iostream>
using namespace std;void BubbleSort(int *a, int len)
{//数组下标从0开始bool flag = true;for (int i = 1; i <= len - 1 && flag; i++)//共需要len-1趟{                  flag = false;for (int j = 1; j <= len - i; j++)//第i趟的比较次数是len-i次if (a[j - 1] > a[j]){flag = true;int temp = a[j - 1];a[j - 1] = a[j];a[j] = temp;}}
}int main()
{int a[] = { 1,3,54,554,4264,5234,68658,70000,88888,999999 };BubbleSort(a, 10);for (int i = 0; i < 10; i++) cout << a[i] << " ";cout << endl;return 0;
}

快速排序:

代码如下:

#include <iostream>
using namespace std;
int Partition(int *a, int low, int high);
void QSort(int *a, int low, int high)
{//数组下标从1开始if (low < high){int pivotloc = Partition(a, low, high);QSort(a, low, pivotloc - 1);QSort(a, pivotloc + 1, high);}
}int Partition(int *a, int low, int high)
{a[0] = a[low];int pivotkey = a[low];while (low < high){while (low < high && a[high] >= pivotkey) --high;a[low] = a[high];while (low < high && a[low] <= pivotkey) ++low;a[high] = a[low];}a[low] = a[0];return low;
}int main()
{int a[] = { 0,123,14124,4,214,23,4,324,24,124,24 };QSort(a, 1, 10);for (int i = 1; i <= 10; i++) cout << a[i] << " ";cout << endl;return 0;
}

C++实现各种交换排序(冒泡,快速)相关推荐

  1. 排序及查找----[(冒泡,快速)(拉格朗日,二分)]

    代码展示: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; ...

  2. Python - 排序( 插入, 冒泡, 快速, 二分 )

    插入排序 算法分析 两次循环, 大循环对队列中的每一个元素拿出来作为小循环的裁定对象 小循环对堆当前循环对象在有序队列中寻找插入的位置 性能参数 空间复杂度 O(1) 时间复杂度 O(n^2) 详细代 ...

  3. 从春招到秋招,一个本科生的求职之路

    下面是我的一个一万多字的c++笔面试总结,包含数据库,计网,操作系统,算法,数据结构,设计模式和c++等多方面的笔面试总结,有的是提纲,大部分都展开详细有描述了,可能有错误,看的时候小心查证. 数据库 ...

  4. [转载]从春招到秋招,一个本科生的求职之路。

    原文:从春招到秋招,一个本科生的求职之路. 自报家门,北理工软件学院本科生. 主要部分: 1.毕业去向选择 2.春招过程 3.暑期实习 4.秋招辛酸路程 5.一点感悟 1.毕业去向选择问题 从大一开始 ...

  5. [PHP] 2018年终总结

    去掉敏感信息后的不完整版 ========================================================================== 2018年12月29日 ...

  6. [日常] 面试知识点总结(持续更新)

    数据结构和算法:物理结构和逻辑结构1.逻辑结构(集合结构,线性结构,树形结构,图形结构)2.物理结构一般是讲内存,顺序存储结构,链式存储结构浅谈算法中,高斯算法从1加到100,循环的话是100次,高斯 ...

  7. 八大排序算法java_java实现八大排序算法

    Arrays.sort() 采用了2种排序算法 -- 基本类型数据使用快速排序法,对象数组使用归并排序. java的Collections.sort算法调用的是归并排序,它是稳定排序 方法一:直接插入 ...

  8. java史努比_Java八大排序

    Arrays.sort() 采用了2种排序算法 -- 基本类型数据使用快速排序法,对象数组使用归并排序. java的Collections.sort算法调用的是归并排序,它是稳定排序 方法一:直接插入 ...

  9. (第20讲)关于排序的各种算法的汇总的题目

    1.排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前 ...

最新文章

  1. 体制内必须要懂的道理77条
  2. python基础语法有哪些-Python基础语法
  3. mysql创建表的时候,字段尽量不要为NULL
  4. 使用Cordova打包Vue项目为IOS并使用XCode提交到AppStore
  5. oracle rac war配置,Oracle RAC安装配置流程
  6. iviewtable表格数据 录音播放下载
  7. 【Flink】Flink 启动报错 DirectoryNotEmptyException Could not close resource
  8. lxterminal命令打开新窗口并执行python脚本
  9. 新塘linux启动过程,NUC972调试笔记之NAND分区调整新增
  10. springMVC接受括号乱码
  11. 机器学习常用算法优点及缺点总结
  12. pentaho-server-ce-7.0安装配置说明
  13. matlab 把连续函数离散,连续传递函数离散化
  14. TMS VCL UI Pack Crack,完整源代码
  15. 流程图的制作技巧分享,手把手教你如何绘制流程图
  16. 使用系统之家重装Windows系统——写给小白
  17. 一、TF2 常用命令
  18. 苹果取消iPhone 13显示屏的维修限制,Face ID不再受影响
  19. GitHub中Organization的Member邀请和clone代码库
  20. 电力电子系统的保护设计

热门文章

  1. 如何用SQL来检测文件是否存在
  2. LeetCode之Move Zeroes
  3. linux网络编程之地址结构sockaddr和sockaddr_in的区别
  4. Android之6.0上的重要变化(二)
  5. Android之开发中用到的几个多线程解析
  6. ​怎么用藏头诗向女友表白......
  7. 直男的回答能多出乎意料?
  8. 如何让你的碎片化时间更有价值?
  9. idea2020.2.2怎么创建web项目_创建Vue3.0的项目
  10. Android带三角形的弹窗,Android实现三角形气泡效果方式汇总