<script type="text/javascript">
//作者:海浪轻风
//作用:对hashtable的操作
///联系方式:441391818 email:jiangwen_hai@163.com
function dwn(s){
document.write(s+"<br/>");
}
function HashTable(){
var specialkey=[
"valueOf",
"hasOwnProperty",
"IsPrototypeOf",
"PropertyIsNumerable",
"prototype",
"constructor",
"toLocaleString",
"toString"
];
//为关键字单独存放的空间
var specialvalue=new Array(specialkey.length);
///特殊关键字存放标记 true表示已经有值,这个时候不能再重复插入
var specialflag=new Array(specialkey.length);
///普通关键字存放空间
var normalHashTable=[];
this.insert=function(key,value){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
if(!specialflag[i]){
specialvalue[i]=value;
specialflag[i]=true;
return true;
}
else return false;
}
}
if(key in normalHashTable) return false;
normalHashTable[key]=value;
return true;
}
this.update=function(key,newvalue){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
specialvalue[i]=newvalue;
return true;
}
}
if(key in normalHashTable)
{
normalHashTable[key]=newvalue;
return true;
}
return false;
}
this.del=function(key){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
specialkey[i]=null;
return true;
}
}
if(key in normalHashTable){
normalHashTable[key]=null
return true;
}
return false;
}
this.find=function(key){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
return specialvalue[i];
}
}
return normalHashTable[key];
}
}
var a=new HashTable();
dwn(a.insert("prototype","afdfdsf"));
dwn(a.update("prototype","fdsafdfdsafdf"));
dwn(a.del("prototype"));
dwn(a.find("prototype"));
</script>
//作者:海浪轻风
//作用:对hashtable的操作
///联系方式:441391818 email:jiangwen_hai@163.com
function dwn(s){
document.write(s+"<br/>");
}
function HashTable(){
var specialkey=[
"valueOf",
"hasOwnProperty",
"IsPrototypeOf",
"PropertyIsNumerable",
"prototype",
"constructor",
"toLocaleString",
"toString"
];
//为关键字单独存放的空间
var specialvalue=new Array(specialkey.length);
///特殊关键字存放标记 true表示已经有值,这个时候不能再重复插入
var specialflag=new Array(specialkey.length);
///普通关键字存放空间
var normalHashTable=[];
this.insert=function(key,value){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
if(!specialflag[i]){
specialvalue[i]=value;
specialflag[i]=true;
return true;
}
else return false;
}
}
if(key in normalHashTable) return false;
normalHashTable[key]=value;
return true;
}
this.update=function(key,newvalue){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
specialvalue[i]=newvalue;
return true;
}
}
if(key in normalHashTable)
{
normalHashTable[key]=newvalue;
return true;
}
return false;
}
this.del=function(key){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
specialkey[i]=null;
return true;
}
}
if(key in normalHashTable){
normalHashTable[key]=null
return true;
}
return false;
}
this.find=function(key){
for(var i=0;i<specialkey.length;i++){
if(key==specialkey[i]){
return specialvalue[i];
}
}
return normalHashTable[key];
}
}
var a=new HashTable();
dwn(a.insert("prototype","afdfdsf"));
dwn(a.update("prototype","fdsafdfdsafdf"));
dwn(a.del("prototype"));
dwn(a.find("prototype"));
</script>