这里要用到桶排序,感觉不太感兴趣,就直接看了网上的做法。C++中vector中的一些常用函数:取容器中的最大最小值min_element(),max_element()。当有必要对一个接受pair参数的函数传递两个值时, make_pair()尤其显得方便。int minAll = *min_ele...
分类:
其他好文 时间:
2015-06-23 19:57:47
阅读次数:
124
数据结构排序算法总结这章的内容比较经典,都是一些很好的算法,将来很可能会用得到,总结一下,加深一下印象。文章篇幅有点大。 一:插入排序 1)直接插入排序 2)折半插入排序3)希尔排序二、交换排序1)冒泡排序 2)快速排序三、选择排序1)简单选择排序 2)堆排序 四、归并排序五、基数排序一、插入排序....
分类:
编程语言 时间:
2015-06-22 21:58:51
阅读次数:
250
基数排序是一种借助多关键字排序的思想对单逻辑关键字进行排序的方法。实现的过程不需要之前的所有排序所需要的记录关键字比较,移动等操作。
多关键字排序:
多关键字排序通常有两种方法:
1、MSD(Most Significant Digit)法,最高为优先法
2、LSD(Least Significant Digit)法,最低位优先法过程借助分配,收集两种操作。数组基数排序:过程演示:第一步...
分类:
编程语言 时间:
2015-06-21 09:30:28
阅读次数:
197
用三种特化模板写七种排序算法,包括四种比较算法,三种线性时间排序算法
分类:
编程语言 时间:
2015-06-20 00:13:05
阅读次数:
175
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
本文将依次介绍上述八大排序算法。
算法一:插入排序
插入排序示意图
插入排序是一种最简单直观的排序算法,...
分类:
编程语言 时间:
2015-06-05 12:28:08
阅读次数:
137
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。 算法一:...
分类:
编程语言 时间:
2015-06-05 11:55:25
阅读次数:
158
基数排序// 基数排序.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include
#includevoid main()
{
int data[10] = {75,23,98,44,57,12,29,64,38,82};
int i, j, k = 0, n = 1, lsd, temp[10][1...
分类:
编程语言 时间:
2015-06-02 18:05:51
阅读次数:
141
剑指offer面试题35,找出字符串中第一个没有重复出现的字符,即第一个只出现一次的字符这道题提出一个很通用的方法就是用数组实现简单的哈希表。看到这种方法的思路,瞬间想起了桶排序。其基本思路是,字符是长度为8的数据类型,因此所有字符的可能情况时256种,即每一位要么为0 要么为1可以将每个字符对应的...
分类:
编程语言 时间:
2015-06-02 13:21:53
阅读次数:
127
DescriptionDoctor Ghee is teaching Kia how to calculate the sum of two integers. But Kia is so careless and alway forget to carry a number when the su...
分类:
编程语言 时间:
2015-05-30 22:36:37
阅读次数:
204
基数排序是跟前面的几种排序算法完全不一样的排序算法,前面的排序算法主要通过关键字之间的比较和移动来实现,而基数排序不需要进行关键字之间的比较,它是借助多关键字的思想来实现的。对于数字,每一位上的数字就是一个关键字,每一位的数字范围就是关键字范围,它的主要过程为:将所有待比较数值(正整数)统一为同样的...
分类:
编程语言 时间:
2015-05-28 00:34:22
阅读次数:
264