Sort a linked list using insertion sort.
链表的插入排序,其实有2种特殊情况: 1、插入的值插入到已排序的末尾。 2、插入的值插入到已排序的最前端。 主要设置了3个指针。
1、pStart是已排序链表的开始位置。 2、pInsert是待插入的位置。 3、pEn...
分类:
其他好文 时间:
2014-05-09 05:16:22
阅读次数:
327
堆的删除
按定义,堆中每次都只能删除第0个数据。为了便于重建堆,实际的操作是将最后一个数据的值赋给根结点,然后再从根结点开始进行一次从上向下的调整。调整时先在左右儿子结点中找最小的,如果父结点比这个最小的子结点还小说明不需要调整了,反之将父结点和它交换后再考虑后面的结点。相当于从根结点将一个数据的“下沉”过程。
堆的插入
每次插入都是将新数据放在数组最后。可以发现从这个新...
分类:
其他好文 时间:
2014-05-09 02:16:57
阅读次数:
255
本次介绍排序算法中的插入排序。 1.直接插入排序: 基本思想:
直接插入排序也需要对待排序的序列在外层进行n-1次遍历,每次遍历时只把本次遍历次数处的元素和该元素之前的元素进行比较,来决定插入位置,并把从插入位置开始到该元素之前的所有元素后移,使从序列开始到该元素为止序列中的元素有序,直至遍历完成序...
分类:
其他好文 时间:
2014-05-08 22:33:17
阅读次数:
377
public class Sort {
static void insertSort(int a[], int n) {
for (int i = 1; i < n; i++) {
if (a[i] = 0 && a[k] > temp) {
...
分类:
其他好文 时间:
2014-05-07 16:15:39
阅读次数:
225
归并排序
归并排序 (merge sort) 是一类与插入排序、交换排序、选择排序不同的另一种排序方法。归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。这里仅对内排序的两路归并方法进行讨论。
1.两路归并排序算法思路
①把 n 个记录看成 n 个长度为1的有序子表;
②进行两两归并使记录关键字有序,...
分类:
编程语言 时间:
2014-05-07 11:47:08
阅读次数:
347
1. 快速排序不稳定的排序。2. 希尔排序直接插入排序的改进,是稳定的排序。3.
直接插入排序稳定的排序。
分类:
其他好文 时间:
2014-05-05 23:12:36
阅读次数:
246
插入排序(Insertion Sort),选择排序(Selection
Sort),冒泡排序和快速排序是我们经常会用到的排序算法。下面是这几种算法的基本思想和相对应的PHP实现代码。插入排序(Insertion
Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文...
分类:
Web程序 时间:
2014-05-05 12:48:01
阅读次数:
478
前两篇文章中介绍了选择排序和插入排序,今天我们继续往下来介绍其他的排序算法,介绍交换排序中的冒泡排序和快速排序。...
分类:
其他好文 时间:
2014-05-04 17:45:18
阅读次数:
270
Sort a linked list using insertion
sort.思路:使用插入排序来对链表进行排序。只要注意链表的边界问题,其实关键就是交换链表的值,对链表指针是没有什么影响的。接下来说下具体步骤:1.判断head或者head->next是否为空;2.循环遍历,初始条件pCur=he...
分类:
其他好文 时间:
2014-05-04 10:01:57
阅读次数:
242
int temp = 0; for (int i = 1; i = 0; j-- ) { arr[j
+ 1] = arr[j]; if (temp...
分类:
其他好文 时间:
2014-05-03 22:27:43
阅读次数:
245