- 浏览: 23262 次
- 性别:
- 来自: 杭州
-
最新评论
文章列表
public class TrafficLampTest {
public static void main(String[] args) {
}
public enum TrafficLamp {
RED(30) {
public TrafficLamp nextLamp() {
return GREED;
};
},
GREED(45) {
public TrafficLamp nextLamp() {
return YELLOW;
};
},
YELLOW(5) {
publi ...
shell排序算法严格来说基于插入排序的思想,其又称为希尔排序或者缩小增量排序。shell排序算法的排序流程如下:
1)将n个元素的数组分为n/2个数据序列,第一个数据和第n/2+1个数据为一对
2)一次循环使每一个序列对应排好顺序
3)然后,再变为n/4个序列,再次排序
4)不断重复上述过程
例如如下数据排序
初始数据 127 118 105 101 112 100
一次排序 101 112 100 127 118 105
二次排序 100 101 105 112 118 ...
插入排序算法通过对未排序的数据执行逐个插入至合适的位置而完成排序工作。
通过比较和插入来实现排序,其排序流程如下:
1)首先对数组的前两个数据进行从小到大的排序
2)接着将第三个数据与排好序的二个数据比较。将第三个数据插入合适的位置
3)然后,将第四个数据插入已排好序的前3个数据中。
4)不断重复上述过程,直到最后一个数据插入合适的位置
例如下面的插入排序:
初始数据 118 101 105 127 112
一次排序 101 118 105 127 112
二次排序 ...
选择排序算法是比较简单的排序算法,其思路比较直观,选择排序算法在每一步中选取最小值来重新判断,从而达到排序的目的。
排序流程如下:
1)首先从原始数组中选择最小的一个数据,将其和位于第一个位置的数据交换
2)接着从剩下的n-1个数据中选词次小的一个数据,将其和第二个位置的数据交换
3)然后不断重复上述过程,直到最后二个数据完成交换
例如下数据
初始数据 118 101 105 127 112
一次排序 101 118 105 127 112
二次排序 101 105 118 ...
冒泡排序算法是所有排序算法中最简单、最基本的一种。冒泡排序算法的思路就是交换排序,通过相邻数据的交换来达到排序的目的。
排序流程:
1)对数组中的各个数据,一次比较相邻的二个元素的大小
2)如果前面的数据大于后面的数据,就交换这两个数据的。经过第一轮的多次比较排序后,便可将最小的数据排好
3)再用同样的方法依次进行比较
例如以下数据
初始数据 118 101 105 127 112
一次排序 101 118 105 112 127
二次排序 101 105 118 ...