标签:blog http io os ar java for strong sp
集合:唯一性,无序性;
基本结构:
function Set () { this.dataStore = []; this.add = add; this.remove = remove; this.contains =contains; this.show = show; } function contains(data) { var pos = this.dataStore.indexOf(data); if(pos > -1) { return true; } else { return false; } } function add(data) { var pos = this.dataStore.indexOf(data); if( pos < 0) { this.dataStore.push(data); return true; } else { return false; } } function remove(data) { var pos = this.dataStore.indexOf(data); if(pos > -1) { this.dataStore.splice(pos,1); return true; } else { return false; } } function show() { console.log(this.dataStore); }
操作:demo
集合的基本操作:并集,交集,补集;
并集:
新增: function union(set) { var tempSet = new Set(); for(var i = 0; i < this.dataStore.length; ++i) { tempSet.add(this.dataStore[i]); } for(var i = 0; i < set.dataStore.length; ++i) { var setData = set.dataStore[i]; if(!tempSet.contains(setData)) { tempSet.dataStore.push(setData); } } return tempSet; }
操作: demo;
交集:
新增: function intersect(set) { var tempSet = new Set(); for(var i = 0; i < this.dataStore.length; ++i) { var thisData = this.dataStore[i]; if(set.contains(thisData)) { tempSet.add(thisData); } } return tempSet; }
操作: demo;
补集:
新增: function difference(set) { var tempSet = new Set(); for(var i = 0; i < this.dataStore.length; ++i) { var thisData = this.dataStore[i]; if(!set.contains(thisData)) { tempSet.add(thisData); } } return tempSet; }
父集判断:
新增: function size() { return this.dataStore.length; } function subset(set) { if(this.size() > set.size()) { return false; } else { for(var i = 0; i < this.dataStore.length; ++i) { var thisData = this.dataStore[i]; if(!set.contains(thisData)) { return false; } } } return true; }
操作:demo
标签:blog http io os ar java for strong sp
原文地址:http://www.cnblogs.com/jinkspeng/p/4032022.html