10 2011 档案

双向列表(JS)
摘要:JS实现双向列表add(index, obj) 在指定索引处插入元素objget(index) 根据索引获取元素getFirst() 获取第一个元素getLast() 获取最后一个元素set(index, obj) 重新设置元素的值size() 返回元素的个数clear() 清空所有元素remove... 阅读全文

posted @ 2011-10-23 11:48 snandy 阅读(1551) 评论(3) 推荐(0) 编辑

单向链表(JS)
摘要:复习数据结构,JS实现了个单向链表LinkedList。add(index, obj) 在指定索引处插入元素objget(index) 根据索引获取元素set(index, obj) 重新设置元素的值size() 返回元素的个数clear() 清空所有元素remove(obj) 删除元素objisE... 阅读全文

posted @ 2011-10-14 18:24 snandy 阅读(5560) 评论(1) 推荐(6) 编辑

直接选择排序
摘要:首先找到数组中最小的元素,将其与第一个元素交换。随后在剩下的元素中找到最小的元素,与第二个元素交换。依次类推..选择排序的内循环只是比较当前元素与目前已知的最小元素,交换元素的动作写在内循环外,每次交换都能确定一个元素的最终位置。因此,交换的总次数为N,算法的时间效率取决于比较的次数。它有两个很鲜明的特点1,运行时间和输入无关为了找出最小的元素而扫描一遍数组并不能为下一遍扫描提供什么信息,使用选择排序的人可能会惊讶的发现一个已经有序的数组和一个随机排列的数组所用的排序时间竟然一样。2,数据移动是最少的每次交换都会改变两个数组元素的值,因此选择排序只用了N次交换。即交换次数和数组的大小是线性关系 阅读全文

posted @ 2011-10-11 16:55 snandy 阅读(784) 评论(0) 推荐(0) 编辑

冒泡排序(交换)
摘要:JavaScriptfunction bubbleSort(ary) { var i, j, temp, len = ary.length; for(i=1; i<len; i++) { for(j=len-1; j>=i; j--) { temp = ary[j]; if(temp < ary[j-1]) { ary[j] = ary[j-1]; ary[j-1] = temp; } } } return ary;}... 阅读全文

posted @ 2011-10-11 12:15 snandy 阅读(665) 评论(0) 推荐(1) 编辑

直接插入排序
摘要:和选择排序一样,当前索引左边的所有元素都是有序的,但它们的最终位置还不确定,为了给更小的元素腾出空间,它们可能会被移动。当索引到达数组的右端时,数组排序就完成了。和选择排序不同的是,插入排序所需要的时间取决于输入中元素的初始顺序。对一个很大且其中的很多元素已经有序的数组会比无序数组或逆序数组排序要快的多。JavaScriptfunction insertSort(ary) { var i, j, len = ary.length; var temp; for(i=1; i<len; i++) { temp = ary[i]; for(j=i... 阅读全文

posted @ 2011-10-10 18:05 snandy 阅读(736) 评论(1) 推荐(1) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示