C++实现各种交换排序(冒泡,快速)
冒泡排序:
代码如下:
#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 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; ...
- Python - 排序( 插入, 冒泡, 快速, 二分 )
插入排序 算法分析 两次循环, 大循环对队列中的每一个元素拿出来作为小循环的裁定对象 小循环对堆当前循环对象在有序队列中寻找插入的位置 性能参数 空间复杂度 O(1) 时间复杂度 O(n^2) 详细代 ...
- 从春招到秋招,一个本科生的求职之路
下面是我的一个一万多字的c++笔面试总结,包含数据库,计网,操作系统,算法,数据结构,设计模式和c++等多方面的笔面试总结,有的是提纲,大部分都展开详细有描述了,可能有错误,看的时候小心查证. 数据库 ...
- [转载]从春招到秋招,一个本科生的求职之路。
原文:从春招到秋招,一个本科生的求职之路. 自报家门,北理工软件学院本科生. 主要部分: 1.毕业去向选择 2.春招过程 3.暑期实习 4.秋招辛酸路程 5.一点感悟 1.毕业去向选择问题 从大一开始 ...
- [PHP] 2018年终总结
去掉敏感信息后的不完整版 ========================================================================== 2018年12月29日 ...
- [日常] 面试知识点总结(持续更新)
数据结构和算法:物理结构和逻辑结构1.逻辑结构(集合结构,线性结构,树形结构,图形结构)2.物理结构一般是讲内存,顺序存储结构,链式存储结构浅谈算法中,高斯算法从1加到100,循环的话是100次,高斯 ...
- 八大排序算法java_java实现八大排序算法
Arrays.sort() 采用了2种排序算法 -- 基本类型数据使用快速排序法,对象数组使用归并排序. java的Collections.sort算法调用的是归并排序,它是稳定排序 方法一:直接插入 ...
- java史努比_Java八大排序
Arrays.sort() 采用了2种排序算法 -- 基本类型数据使用快速排序法,对象数组使用归并排序. java的Collections.sort算法调用的是归并排序,它是稳定排序 方法一:直接插入 ...
- (第20讲)关于排序的各种算法的汇总的题目
1.排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前 ...
最新文章
- 体制内必须要懂的道理77条
- python基础语法有哪些-Python基础语法
- mysql创建表的时候,字段尽量不要为NULL
- 使用Cordova打包Vue项目为IOS并使用XCode提交到AppStore
- oracle rac war配置,Oracle RAC安装配置流程
- iviewtable表格数据 录音播放下载
- 【Flink】Flink 启动报错 DirectoryNotEmptyException Could not close resource
- lxterminal命令打开新窗口并执行python脚本
- 新塘linux启动过程,NUC972调试笔记之NAND分区调整新增
- springMVC接受括号乱码
- 机器学习常用算法优点及缺点总结
- pentaho-server-ce-7.0安装配置说明
- matlab 把连续函数离散,连续传递函数离散化
- TMS VCL UI Pack Crack,完整源代码
- 流程图的制作技巧分享,手把手教你如何绘制流程图
- 使用系统之家重装Windows系统——写给小白
- 一、TF2 常用命令
- 苹果取消iPhone 13显示屏的维修限制,Face ID不再受影响
- GitHub中Organization的Member邀请和clone代码库
- 电力电子系统的保护设计
热门文章
- 如何用SQL来检测文件是否存在
- LeetCode之Move Zeroes
- linux网络编程之地址结构sockaddr和sockaddr_in的区别
- Android之6.0上的重要变化(二)
- Android之开发中用到的几个多线程解析
- ​怎么用藏头诗向女友表白......
- 直男的回答能多出乎意料?
- 如何让你的碎片化时间更有价值?
- idea2020.2.2怎么创建web项目_创建Vue3.0的项目
- Android带三角形的弹窗,Android实现三角形气泡效果方式汇总