js:数据结构笔记2---列表
列表:
- 定义:一组有序的数据;
function List() { this.listSize = 0; this.pos = 0; this.dataStore = []; this.find = find; ......................... }
- 方法:
- append:添加数据
function append(element) { this.dataStore[this.listSize++] = element; }
-
- find:查找元素://indexOf
function find(element) { for(var i=0; i < this.dataStore.length; ++i) { if(this.dataStore[i] === element) { return 1; } } return -1; }
-
- remove:删除元素;
function remove() { var foundAt = this.find(element); if(foundAt > -1) { this.dataStore.splice(foundAt,1); --this.listSize; return true; } return false; }
-
- length:返回元素个数;
function length() { return this.listSize; }
-
- toString:显示元素;
function toString() { return this.dataStore; }
-
- insert:插入元素;
function insert(elem,after) { var insertPos = this.find(elem); if(insertPos > -1) { this.dataStore.splice(insertPos+1,0,elem); // ++this.listSize; return true; } return false; }
-
- clear:清空所有元素;
function clear() { delete this.dataStore; this.dataStore = []; this.listSize = this.pos = 0; }
-
- contains:判断元素;
function contains(elem) { for(var i = 0; i < this.dataStore.length; ++i) { if(this.dataStore[i] === elem) { return true; } } return false; }
-
- 遍历:
function front() { this.pos = 0; //pos范围[0-listSize-1] } function end() { this.pos = this.listSize - 1; } function prev() { if(this.pos > 0) { --this.pos; } } function next() { if(this.pos < this.listSize-1) { ++this.pos; } } function currPos() { return this.pos; } function moveTo(position) { this.pos = position; } function getElement() { return this.dataStore[this.pos]; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。