排序
文章平均质量分 77
小弟季义钦
好东西要大家分享!
展开
-
归并排序
/* * mergeSort.cpp(归并排序) * * Created on: 2012-4-20 * Author: jiyiqin * * 归并排序: * 分治法: * 分治法思想,不断将待排序数组划分成两个部分。 * 直到问题最小(两个元素)。 * 然后将两个部分(各自有序)归并到一起。 * * 代价: *原创 2012-11-15 14:59:37 · 880 阅读 · 0 评论 -
堆排序
/* * heapSort.cpp(堆排序) * * Created on: 2012-4-17 * Author: jiyiqin * * 稳定性: * 堆排序类似于选择排序,所以不是一种稳定的排序。 * * 代价: * 但是其时间复杂度最差也是o(n log n),空间复杂度为1 * * 算法描述 * 输入一原创 2012-11-15 14:31:56 · 831 阅读 · 0 评论 -
冒泡排序
/* * BubbleSort.cpp(冒泡排序) * * Created on: 2012-4-22 * Author: jiyiqin */#include using namespace std;/*冒泡排序*/class BubbleSort{private: void swap(int *a, int *b){ int t原创 2012-11-15 14:40:25 · 793 阅读 · 0 评论 -
快速排序
/* * quickSort.cpp(快速排序) * * Created on: 2012-4-21 * Author: jiyiqin * * 快速排序: * * 分治法: * 和归并排序一样,快速排序也是基于分治思想的。 * 代价: * 时间复杂度,期望为o(n log n), 但是最坏可能达到o(n^2) * 空间复杂度,o原创 2012-11-15 15:10:21 · 873 阅读 · 0 评论 -
链表归并排序
#include using namespace std;/*** 对链表进行原地排序* 回忆数组归并最重要的就是:找到数组中点,以及归并两个有序数组。* 类似地这里有两个关键点: * (1)找到链表的中间节点,用一快一慢两个指针往前走;* (2)归并两个已经排好序的链表,指向归并结果的指针总是变化的,所以需要返回一个指向归并好的链表的头指针;* (3)最后注意,将原创 2012-11-03 22:26:27 · 983 阅读 · 0 评论