http://api.rubyonrails.org/classes/Array.html#method-i-second [27] pry(main)> list = ["a", "b", "c", "d"] => ["a", "b", "c", "d"] [28] pry(main)> list.first => &qu…
rails undefined method error_messages 学习了:http://stackoverflow.com/questions/10002140/use-error-messages-in-rails-3-2-raises-undefined-method-error <%= form_for [@camp, @program] do |f| %> <% @program.errors.full_messages.each do |msg| %> <…
0.创建 Javascript创建数组的基本方式有两种.第一种是使用Array构造函数. var colors = new Array(); var colors = new Array(20); var colors = new Array("red","blue","green"); 另外一种是省略掉new符号: var colors  = Array(3); var colors = Array("Greg"); 1.检…
The advantages of Array Addition and subtraction Array multiplication abs() & sqrt() Converting between array and matrix expressions     The advantage of Array provides an easy way to perform coefficient-wise operations, such as adding a constant to…
归并排序思路 1) 归并 从两个有序表R[low...mid]和R[mid+1...high],每次从左边依次取出一个数进行比较,将较小者放入tmp数组中,最后将两段中剩下的部分直接复制到tmp中. 这样tmp是一个有序表,再将它复制加R中.(其中要考虑最后一个子表的长度不足length的情况) 2) 排序 自底向上的归并,第一回:length=1:第二回:length=2*length ... 代码实现 Function.prototype.method = function(name, fu…
堆排序思路 堆排序是一种树形选择排序方法(注意下标是从1开始的,也就是R[1...n]). 1) 初始堆: 将原始数组调整成大根堆的方法——筛选算法:比较R[2i].R[2i+1]和R[i],将最大者放在R[i]的位置上(递归调用此方法到结束) 2) 堆排序: 每次将堆顶元素与数组最后面的且没有被置换的元素互换 堆排序实现 Function.prototype.method = function(name, func){ this.prototype[name] = func; return t…
选择排序思路 在无序区中选出最小的元素,然后将它和有序区的第一个元素交换位置. 选择排序实现 Function.prototype.method = function(name, func){ this.prototype[name] = func; return this; }; Array.method('selectSort', function(){ var len = this.length, i, j, k, tmp; for(i=0; i<len; i++){ k = i; for…
快速排序思路 1) 假设第一个元素为基准元素 2) 把所有比基准元素小的记录放置在前一部分,把所有比基准元素大的记录放置在后一部分,并把基准元素放在这两部分的中间(i=j的位置) 快速排序实现 Function.prototype.method = function(name, func){ this.prototype[name] = func; return this; }; Array.method('quickSort', function(s, t){ var i=s, j=t, tm…
改进冒泡思路 如果在某次的排序中没有出现交换的情况,那么说明在无序的元素现在已经是有序了,就可以直接返回了. 改进冒泡实现 Function.prototype.method = function(name, func){ this.prototype[name] = func; return this; }; Array.method('rBubbleSort', function(){ var len = this.length, i, j, tmp, exchange; for(i=0;…
冒泡排序思想 通过在无序区的相邻元素的比较和替换,使较小的元素浮到最上面. 冒泡排序实现 Function.prototype.method = function(name, func){ this.prototype[name] = func; return this; }; Array.method('bubbleSort', function(){ var len = this.lenght, i, j, tmp; for(i=0; i<len; i++){ for(j=len-1; j>…