专题的前一篇讲了快速排序的始祖——霍尔快排,那么这里就简单地实现一下霍尔快排。补充说明下,快排的一个核心步骤是选取枢纽元,通常的做法是将第一个元素用作枢纽元,《算法导论》里的快排例子和Hoare快排都是这种枢纽元选择。先撇开效率不说,我们先看看Hoare快排的实现:香格里拉娱乐城01#include...
分类:
编程语言 时间:
2014-09-13 18:40:55
阅读次数:
315
选择首尾元素做枢纽元通常的、没有经过充分考虑的选择是将第一个或最后一个元素用作枢纽元。选择第一个元素作为枢纽元的程序例子可以参考专题的前一篇《快速排序里的学问:霍尔快排的实现》,而选择最后一个元素用作枢纽元的程序例子则可以参考《快速排序里的学问:快速排序的过程》这个算法导论里的例子。选择最后一个元素...
分类:
其他好文 时间:
2014-09-13 18:38:55
阅读次数:
251
插入排序插入排序使用线性搜索来查找排序的列表中第一个元素的位置,在分类列表的一部分。最好是一个基本排序算法用于排序较小的数据集或插入一个新元素在排序的列表中。算法:插入排序始于一个大小为1的列表排序和插入元素。它仍然将每个连续的元素插入排序列表。1。假设如果数组排序到指数我然后我们可以对数组进行排序...
分类:
其他好文 时间:
2014-09-13 09:22:04
阅读次数:
210
LinkedList也像ArrayList一样,实现了List接口,但是他执行某些操
(在List中间的插入和删除)时比ArrayList更高效,但是随即访问方面差一些
方法说明:
getFirst()和element()完全一样,他们都返回列表的头
(第一个元素)而并不删除它们,如果List为空则抛出NotSuchElementException
peek()方法与这两个稍有差...
分类:
其他好文 时间:
2014-09-13 00:50:34
阅读次数:
268
总结一些C语言中关于数组和指针的关系。
1、"[]" 运算。下标运算"[]"实际上是由另一个运算定义的。C语言规定下面两个表达式 表达式1[表达式2] 与 ( *( (表达式1)+(表达式2) ) )
是完全等价的。由于"+"具有交换性,故 表达式1[表达式2] 与 表达式2[表达式1]完全等价,例如 int i[1] = 7; i[0] = 0[i] = 7。
2、数组名是指针,指向数组第一个元素,是常量。 double d [6] = {2}; "d[0]" 等价于 "( *( (d)+(0...
分类:
其他好文 时间:
2014-09-12 15:11:54
阅读次数:
213
数组即是一组相同类型组合在一起,使用一个通用的名称,通过分配的下标访问的数据集合中的元素。数组是具有相同类型的一组数据。当访问数组中的数据时,可以通过下标来指明。c#中数组元素可以为任何数据类型,数组下标从0开始,即第一个元素对应的下标为0,以后逐个递增。数组可以一维也可多维。一维数组是最基本的数组...
分类:
其他好文 时间:
2014-09-09 15:51:38
阅读次数:
203
#include里的函数 转载▼#include里的函数#include 非修改性序列操作(12个)循环对序列中的每个元素执行某操作for_each()查找在序列中找出某个值的第一次出现的位置find()在序列中找出符合某谓词的第一个元素find_if()在序列中找...
分类:
其他好文 时间:
2014-09-08 10:47:07
阅读次数:
201
【题意】:给你一个值v和一组数字,求在这组数字中有多少种可用的组合,可用的组合意思是组合中数字乘积等于这个v(不同位置的数组成的相同情况视为不同的解)。【知识点】:DP【题解】:声明map mp; 第一个元素代表能整除v的一个数,第二个元素代表数字组前i个元素中乘积为该数的集合数。然后遍历这组数字,...
分类:
其他好文 时间:
2014-09-06 23:40:24
阅读次数:
259
字典类是一个很重要的类,尤其是对于数据的简单存储,查询,和处理。废话不多说,简单记录下我探索的结果。1、Dictionary内部索引是0基的。也就是说第一个元素的序号是0.2、 1 Public Class DictionaryTryMain 2 3 Private Sub btnClas...
分类:
Web程序 时间:
2014-09-06 22:30:13
阅读次数:
1769
在html5新增的API中,在JS中有直接选择DOM元素的API函数;分别是 document.querySelector('.类名 或者 #id名');返回所选符合元素的第一个元素 document.querySelectorAll('.类名 或者 #id名');返回所选符合元素的元素集合,有.....