this.count--;
} while (Boolean(i = i.next))
},
exists: function (_key)
{
///
/// 檢視鍊錶類別是否有一個key
String">
/// key的值
///
var i = this.root;
while (Boolean(i = i.next))
return false;
},
removeAll: function ()
{
///
this.root = new linkNode(null , null);
this.end = this.root;
this.count = 0;
}, {
return "";
if (typeof o == "string")
return """ o.replace( /(["\])/g, "\$1").replace(/(n)/g, "\n").replace(/(r)/g, "\r").replace(/( t)/g, "\t") """;
if (typeof o == "object")
{ for ( var i in o)
r.push(""" i "":" this.Obj2str(o in() "}";
}
else
i = 0; i r.push(this.Obj2str( "[" r.join() "]";
}
.replace(/":/g, '":""' );
},
getJSON: function ()
{
///
/// 转换成JSON字符串
///
///
///
//内部方法,用于递归
var me = this;
var getChild = function (node)
{
var str = "";
str += "{\"Key\":\"" + node.Key + "\",\"Value\":" + me.Obj2str(node.Value);
if (node.next != null)
str += ",\"next\":" + getChild(node.next);
else
str += ",\"next\":\"null\"";
str += "}";
return str;
};
var link = "{\"root\":{\"Key\":\"null\",\"Value\":\"null\",\"next\":";
if (this.count == 0)//如果空表
{
return "{\"root\":{\"Key\":\"null\",\"Value\":\"null\",\"next\":\"null\"},\"end\":{\"Key\":\"null\",\"Value\":\"null\",\"next\":\"null\"},\"count\":\"0\"}";
}
link += getChild(this.root.next) + "}";
//加上end
link += ",\"end\":{\"Key\":\"" + this.end.Key + "\",\"Value\":" + me.Obj2str(this.end.Value) + ",\"next\":\"null\"";
link += "},\"count\":\"" + this.count + "\"}";
return link;
},
getArrayJSON: function ()
{
///
/// 转所有节点的value换成JSON字符串,数组格式
///
///
///
var link = "{\"link\":[";
var i = this.root;
while (Boolean(i = i.next))
{
link += this.Obj2str(i.Value) + ",";
}
link = link.substr(0, link.length - 1);
link += "]}";
return link;
},
sort: function (fn)
{
///
/// 对链表进行排序
///
///
/// 比较两个链表元素大小的方法,当返回真时,此方法的参数所指的节点将往下沉
///
if (fn != null)
{
var i = this.root;
while (Boolean(i = i.next))
{
var j = this.root;
while (ブール(j = j.next ))
{
if (j.next != null)
{
if (fn.call(this 、 j))
{
var Key = j.Key;
var Value = j.Value;
j.Key = j.next.Key;
j.Value = j .next.Value;
j.next.Key = キー;
j.next.Value = Value;
}
}
}
this.end = i;
}
}
else
{
}
}
};