摘要:
排序算法复习大致结束了,主要有以下几种:冒泡排序、选择排序、简单插入排序、希尔排序、归并排序、快速排序、堆排序。#include #define MAXSIZE 1000using namespace std;class SqList{public: SqList():length(0){} Sq... 阅读全文
posted @ 2015-06-30 08:43
朱传林
阅读(196)
评论(0)
推荐(0)
摘要:
堆的定义:1)完全二叉树,2)每个结点的值都大于其左右孩子结点的值。根据堆的定义可知,最大值就是根结点,其次就是根结点左右孩子结点中的一个…… 堆排序有两个很重要的过程:1)建堆,2)堆维护。实质上,这两个过程都可以通过一个函数来实现。void HeapAdjust(SqList* l... 阅读全文
posted @ 2015-06-30 08:41
朱传林
阅读(156)
评论(0)
推荐(0)
摘要:
快速排序将以枢轴为界,将原数组分为两个部分,枢轴以前,值都小于枢轴的值,枢轴以后的值都大于枢轴。 采用递归的方法,对以枢轴为界的两个子序列进行快速排序,直至子序列长度为1。 1、快速排序的关键是枢轴的选取,主要有三种方法:1)选取第一个或最后一个作为枢轴值;2)采用随机数生成器,生成枢... 阅读全文
posted @ 2015-06-30 07:59
朱传林
阅读(291)
评论(0)
推荐(0)

浙公网安备 33010602011771号