public float GetValue(SparseKey key) { foreach (var point in points) { if (point.key == key) { return(point.value); } } return(0f); }
public void AddValue(SparseKey key, float value) { foreach (var point in points) { if (point.key == key) { point.value += value; return; } } // 没有这个点的话添加到列表里 var p = new SparsePoint(); p.key = key; p.value = value; RowLength = max(RowLength, p.key.i); ColumnLength = max(ColumnLength, p.key.j); points.Add(p); }