经典排序算法 – 插入排序
2012-12-13 12:31
127 查看
经典排序算法 – 插入排序Insertion sort
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。
图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。
代码
public class InsertionSorter
{
public void Sort(int[] arr)
{
for (int i = 1; i < arr.Length; i++)
{
int t = arr[i];
int j = i;
while ((j > 0) && (arr[j - 1] > t))
{
arr[j] = arr[j - 1];//交换顺序
--j;
}
arr[j] = t;
}
}
}
引用
http://javatd.iteye.com/blog/386450 http://www.cnblogs.com/dreamof/archive/2009/05/05/1450058.html
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
插入排序方法分直接插入排序和折半插入排序两种,这里只介绍直接插入排序,折半插入排序留到“查找”内容中进行。
图1演示了对4个元素进行直接插入排序的过程,共需要(a),(b),(c)三次插入。
代码
public class InsertionSorter
{
public void Sort(int[] arr)
{
for (int i = 1; i < arr.Length; i++)
{
int t = arr[i];
int j = i;
while ((j > 0) && (arr[j - 1] > t))
{
arr[j] = arr[j - 1];//交换顺序
--j;
}
arr[j] = t;
}
}
}
引用
http://javatd.iteye.com/blog/386450 http://www.cnblogs.com/dreamof/archive/2009/05/05/1450058.html
相关文章推荐
- 经典排序算法(2) -插入排序 InsertSort
- 经典排序算法-插入排序
- 经典排序算法设计与分析(插入排序、冒泡排序、选择排序、shell排序、快速排序、堆排序、分配排序、基数排序、桶排序、归并排序)
- 【经典排序算法】插入排序、希尔排序
- 经典排序算法--插入排序
- 经典排序算法设计与分析(插入排序、冒泡排序、选择排序、shell排序、快速排序、堆排序、分配排序、基数排序、桶排序、归并排序)
- 经典排序算法 INSERT-SORT: 插入排序
- 经典排序算法 – 插入排序Insertion sort
- 经典排序算法之——插入排序
- 经典排序算法(希尔排序,归并排序,快速排序,插入排序)
- 经典排序算法 – 插入排序Insertion sort
- 经典排序算法学习笔记三——插入排序
- 【排序算法】经典排序算法之插入排序
- 经典排序算法——插入排序
- 经典排序算法 - 插入排序
- 经典排序算法python回顾之三 插入排序
- 经典排序算法之插入排序
- 【数据结构】Java实现各类经典排序算法——插入排序、希尔排序
- 经典排序算法2(插入排序)