C++学习笔记51:排序
//直接插入排序函数模板
template <class T> void insertionSort(T a[], int n)
{
int i, ;
T temp; for (int i = ; i < n; i++)
{
int j = i;
T temp = a[i];
while (j > && temp < a[j-])
{
a[j] = a[j - ];
j--;
}
a[j] = temp;
}
}
//简单选择排序函数模板
template <class T> void mySwap(T &x, T &y)
{
T temp = x;
x = y;
y = temp;
} template <class T> void selectionSort(T a[], int n)
{
for (int i = ; i < n - ; i++)
{
int leastIndex = i;
for (int j = i + ; j < n; j++)
{
if (a[j] < a[leastIndex])
{
leastIndex = j;
}
}
mySwap(a[i], a[leastIndex]);
}
} //冒泡排序
template <class T> void bubbleSort(T a[], int n)
{
int i = n - ;
while (i > )
{
int lastExchangeIndex = ;
for (int j = ; j < i; j++)
{
if (a[j + ] < a[j])
mySwap(a[j], a[j + ]);
lastExchangeIndex = j;
}
i = lastExchangeIndex;
}
}
C++学习笔记51:排序的更多相关文章
- [原创]java WEB学习笔记51:国际化 概述,API 之 locale类,dataFormat类,numberFormat类, MessageFormat类,ResourceBundle 类
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Linux下汇编语言学习笔记51 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- TSPL学习笔记(3):排序算法练习
快速排序 快排的详细介绍见,简单的说就是取输入序列中的首元素m,然后将除首元素m以外的其它元素分成两组,小于等于m的一组和大于m的一组.将3组元素组合成输入队列:小于等于m + m + 大于m. 下面 ...
- STL学习笔记(排序算法)
STL提供了好几种算法对区间内的元素排序.出来完全排序外,还支持局部排序. 对所有元素排序 void sort(RandomAccessIterator beg,RandomAccessIterato ...
- js学习笔记之排序算法的原理及代码
冒泡排序 比较任何两个相邻的项,如果第一个比第二个大,则交换它们 重复这样的操作,直到排序完成,具体代码如下: let arr = [67,23,11,89,45,76,56,99] function ...
- android学习笔记51——SQLite 手势Gesture
手势Gesture 所谓手势,是指用户手指或触摸笔在触摸屏幕上的连续触碰行为. Androi对两种手势行为都提供了支持: 1.对于第一种手势而言,android提供了手势检测,并为手势检测提供了相应的 ...
- Java学习笔记51:数组转ArrayList和ArrayList转数组技巧
ArrayList转数组: public class Test { public static void main(String[] args) { List<String> list = ...
- Java学习笔记51(综合项目:家庭记账系统)
javaEE的开发模式 1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jsp+javaBean model ...
- Android(java)学习笔记51:ScrollView用法
1. 理论部分 (1)ScrollView和HorizontalScrollView是为控件或者布局添加滚动条 (2)上述两个控件只能有一个孩子,但是它并不是传统意义上的容器 (3)上述两个控件可以互 ...
随机推荐
- Leetcode 344. 反转字符串
344. Reverse String 解题代码: class Solution { public: void reverseString(vector<char>& s) { , ...
- Java 集合Collection与List的详解
1.什么是集合 存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式. 集合的出现就是为了持有对象.集合中可以存储任意类型的 ...
- Visual Studio "14" CTPs
下载地址:http://www.visualstudio.com/en-us/downloads/visual-studio-14-ctp-vs 上张有亮点的图: 实现亮点的方法(Remo ...
- delphi使用sqlite数据库时的中文路径问题
https://blog.csdn.net/yuehaiyang/article/details/4184198 如果数据库所在的路径是中文路径的话,根本运行不起来,会报错,因为sqlite用的是ut ...
- 【BZOJ2698】染色
题解: 首先比较显然的是查询每个点被覆盖的概率,算完之后概率m次方 既然是计数题 考虑容斥 我们会发现这样是求n长度的区间能存多少种 我们考虑直接递推 从n到n+1 多的方案数一定要覆盖n+1,所以就 ...
- Jhipster Registry(Eureka Server) Docker双向联通与高可用部署
使用Compose来编排这个Eureka Server集群: peer1配置: server: port: 8761 eureka: instance: hostname: eureka-peer-1 ...
- 【Android】Android 代码判断是否获取ROOT权限(一)
[Android]Android 代码判断是否获取ROOT权限 方法比较简单,直接粘贴代码 public synchronized boolean getRootAhth() { Process pr ...
- Python_collections_namedtuple可命名元组
namedtuple:用来构建带字段名的元组 import collections # 创建类,两种创建方法 MytupleClass = collections.namedtuple('Mytupl ...
- BZOJ1799 self 同类分布 数位dp
BZOJ1799self 同类分布 去博客园看该题解 题意 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数. [约束条件]1 ≤ a ≤ b ≤ 10^18 题解 1.所有的位数之和&l ...
- {}动态规划}记忆化dp
先搞个模板 #include<stdio.h> #include<string.h> using namespace std; typedef long long ll; ]; ...