Java 基础复习笔记 11 基本排序算法
1. 排序
排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家
还在研究。而排序是计算机程序开发中常用的一种操作。为何需要排序呢。我们在所有
的系统中几乎都要检索数据,而这些欲检索的数据如果有规律的话,比如按照某些
字段、属性降序排序的话,那么从这些有规律的数据查询结果或者结果集的话就快速
得多。
2. 常用算法
常用的算法有:直接选择排序、堆排序、冒泡排序、快速交换排序、直接插入排序、折半
插入排序、Shell 排序、归并排序、桶式排序、基数排序。这些都属于常用排序算法,也
都是内部排序算法。所谓内部排序就是不借助任何外部的内存处理器,直接使用内存,
在内存中完成就可以的排序方式。
3. 直接选择排序
直接排序的思想就是进行二重遍历,由外层元素依次和内层元素进行对比,之后交
换位置。算法如下
package
sort;
import
java.util.Arrays;
/**
* 选择排序
*
*
@author
liuyan
*/
public
class
SelectSort {
// 选择排序法
public
static
void
selectSort(Integer[] integers) {
for
(
int
i = 0; i < integers.
length
- 1; i++) {
int
minIndex = i;
for
(
int
j = i + 1; j < integers.
length
; j++) {
if
(integers[i] < integers[j]
&& integers[minIndex] < integers[j]) {
// 只记住标记
minIndex = j;
}
}
// 每次只交换一次即可
if
(minIndex != i) {
Integer temp = integers[i];
integers[i] = integers[minIndex];
1
/
11