网站建设 开发 模板,昵称小写 wordpress,wordpress文章导出,电子商务网站有哪些?在处理表格合并等问题时#xff0c;可以考虑采用位图算法实现二维存储对象的处理通过Map.Set设置点值或Map.Fill填充区域。判断各点值时通过Map.Get获取扩展Point属性可以改成3维或更多维实现多维存储对象的处理/// summary/// 二维图形算法/// 王洪岐 121226/// …在处理表格合并等问题时可以考虑采用位图算法实现二维存储对象的处理 通过Map.Set设置点值或Map.Fill填充区域。 判断各点值时通过Map.Get获取 扩展Point属性可以改成3维或更多维实现多维存储对象的处理 /// summary /// 二维图形算法 /// 王洪岐 121226 /// /summary /// typeparam nameT/typeparam public class MapT { private DictionaryPoint, T _map; /// summary /// 构建图 /// /summary /// param namex/param /// param namey/param public Map() { _map new DictionaryPoint, T(); } /// summary /// 填充图 /// /summary /// param namea/param /// param nameb/param public void Fill(Point a, Point b, T value) { for (int x Math.Min(a.X, b.X); x Math.Max(a.X, b.X); x) { for (int y Math.Min(a.Y, b.Y); y Math.Max(a.Y, b.Y); y) { _map[new Point(x, y)] value; } } } /// summary /// 设置单点值 /// /summary /// param namea/param /// param namevalue/param public void Set(Point p, T value) { _map[p] value; } /// summary /// 获取单点值 /// /summary /// param namep/param /// returns/returns public T Get(Point p) { return _map.ContainsKey(p) ? _map[p] : default(T); } /// summary /// 显示点 /// /summary /// returns/returns public string ShowPoint() { int intMaxX _map.Keys.Max(pp.X); int intMaxY _map.Keys.Max(pp.Y); StringBuilder sbReturn new StringBuilder(); for (int y 0; y intMaxY; y) { for (int x 0; x intMaxX; x) { sbReturn.Append(_map.ContainsKey(new Point(x, y))?1:0); } sbReturn.Append(\n); } return sbReturn.ToString(); } } /// summary /// 点坐标 /// /summary public struct Point { private int _X; private int _Y; /// summary /// /// /summary /// param namex/param /// param namey/param public Point(int x, int y) { _X x; _Y y; } /// summary /// X /// /summary public int X { get { return _X; } set { _X value; } } /// summary /// Y /// /summary public int Y { get { return _Y; } set { _Y value; } } }