Golang的排序和查找

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.排序的基本介绍

排序是将一组数据,依指定的顺序进行排列的过程。排序的分类如下

1>.内部排序

指将需要处理的所有数据都家在到内存存储器中进行排序,其中包括交换式排序法,选择式排序法和插入式排序法。

2>.外部排序法

数据量过大,无法全部加载到内存中,需要借助外部存储进行排序,其中包括合并排序法和直接合并排序法。

二.冒泡排序

1>.冒泡排序基本思想

通过对待排序序列从前向后(从下标较大的元素开始),一次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元),就像水底下的气泡一样逐渐向上冒。

因为排序过程的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较(优化)。

2>.代码实现

Golang的排序和查找第3张

三.查找

1>.查找介绍

在Golang中,我们常用的查找有两种:顺序查找和二分查找(该数组是有序)。

2>.顺序查找案例

Golang的排序和查找第6张

3>.二分查找案例

Golang的排序和查找第9张