共 7 篇文章 |
|
八大排序算法概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。简单选择排序,每趟循环只能确定一个元素排序后的定位。在本改进算法中,只对长度大于k的子序列递归调用快速排序,让原序列基本有序,然后再对整个基本有序序列用插入排序... 阅21 转0 评0 公众公开 16-09-05 23:35 |
插入元素view plaincopy to clipboardprint?procedure insert(x:longint); var posi:integer; begin posi:=locate(x); //定位函数的返回值 if A[posi]=empty then A[posi]:=x else error; //error 即为发生了错误,当然这是可以避免的 end; procedure insert(x:longint);var posi:integer;begin.//定位函数的返回值if A[posi]=empty the... 阅160 转0 评0 公众公开 16-09-05 23:34 |
hashCode与equals的区别与联系(经典)一、equals方法的作用。stu1 == stu2 : falsestu1.equals(stu2) : falselist size:2hashCode :775943hashCode :775943set size:2.stu1 == stu2 : falsestu1.equals(stu2) : truelist size:2hashCode :776098hashCode :776129set size:2.stu1 == stu2 : falsestu1.equals(stu2) : truelist size:2hashCode : ... 阅1 转自binggelib... 公众公开 16-09-05 23:34 |
也就是说,如果obj1.equals(obj2)的结果为true,那么以下表达式的结果也要为true:obj1.hashCode() == obj2.hashCode()换句话说:当我们重写一个对象的equals方法,就必须重写他的hashCode方法,不过不重写他的hashCode方法的话,Object对象中的hashCode方法始终返回的是一个对象的hash地址,而这个地址是永远不相等的。下面我们把RectObject对象... 阅46 转0 评0 公众公开 16-09-05 23:33 |
比如,以上的那段计算hash的代码还可以有如下几种变形: hash = (hash<<5>>27)^key.charAt(i);hash += key.charAt(i);hash += (hash <<10);hash ^= (hash >>6);if((i&1) == 0){}hash += (hash<<5>hash = key.charAt(i) + (hash<<6>>16) ?hash;如果你不需要它限制一个范围的话,可以使用如下... 阅1 转自123456226... 公众公开 16-09-05 23:32 |