常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。 一、冒泡排序: 1.基本思想: 两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 ...
分类:
编程语言 时间:
2019-03-20 13:01:40
阅读次数:
263
选择排序 选择排序比较好理解,好像是在一堆大小不一的球中进行选择(以从小到大,先选最小球为例): 1. 选择一个基准球 2. 将基准球和余下的球进行一一比较,如果比基准球小,则进行交换 3. 第一轮过后获得最小的球 4. 在挑一个基准球,执行相同的动作得到次小的球 5. 继续执行4,直到排序好 时间 ...
分类:
编程语言 时间:
2019-03-19 20:03:37
阅读次数:
146
冒泡排序(写法1): flag = true; i = 0; i < n-1; ++i{ j = 0; j < n-1-i; ++j{//从前面开始冒泡 if([j] < [j+1]){ 交换;//小的放后面 flag = false; } } if(flag == true){break;}//若 ...
分类:
编程语言 时间:
2019-03-18 18:45:34
阅读次数:
206
[TOC] 冒泡排序 冒泡算法 1. 比较相邻的元素。如果左边比右边大,就互换位置 2. 对每一对相邻元素作同样的工作,从第一对到最后一对,完成后,最后元素为最大值 源代码(冒泡排序) 选择排序 选择算法 1. 找到数组中最大或者最小的元素,将它和数组的第一个元素交换位置 2. 剩下的元素中,最小值 ...
分类:
编程语言 时间:
2019-03-18 01:29:53
阅读次数:
209
(一)选择排序 1.算法描述: (1) 初始状态:有序区为空,无序区为R[1..n]; (2) 第i趟排序(i=1,2,3…n-1)开始时,当前有序区和无序区分别为R[1..i-1]和R(i..n)。该趟排序从当前无序区中-选出关键字最小的记录 R[k],将它与无序区的第1个记录R交换,使R[1.. ...
分类:
编程语言 时间:
2019-03-17 15:40:17
阅读次数:
159
通过j和i之后的数进行比较,较大的来替换第i个数的方式来排序 ...
分类:
编程语言 时间:
2019-03-16 18:09:20
阅读次数:
205
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。 算法 ...
分类:
编程语言 时间:
2019-03-14 01:06:02
阅读次数:
185
经典排序算法图解: 经典排序算法的复杂度: 大类一(比较排序法): 1、冒泡排序(Bubble Sort) python代码实现: 2、选择排序(Selection Sort) python代码实现: 3、插入排序(Insertion Sort) 直接插入排序-python实现: 折半插入排序-py ...
分类:
编程语言 时间:
2019-03-14 00:40:18
阅读次数:
239