private void CreateDataForNeighbor(int HeaderPosition, string name, ID3Node Neighbor) { SetHeadersForNeighbor(HeaderPosition, Neighbor); foreach (string[] row in Data.Data) { if (row[HeaderPosition] == name) { Neighbor.Data.Data.Add(GetRowDataForNeigbor(HeaderPosition, row)); } } }
private void SetHeadersForNeighbor(int HeadPosition, ID3Node Neighbor) { string[] NewHeaders = new string[Data.headers.Length - 1]; int i = 0; foreach (string name in Data.headers) { if (name != Data.headers[HeadPosition]) { NewHeaders[i] = name; i++; } } Neighbor.Data.headers = NewHeaders; }
/* * private void BuildDataForHead(string HeadName) * { * SetHeadersForHead(HeadName); * int HeaderPosition = GetHeaderPosition(HeadName); * SetDataForHead(HeaderPosition); * } * * private void SetDataForHead(int HeaderPosition) * { * foreach (string[] row in Data.Data) * { * Data.Data.Add(SetRowInDataForHead(HeaderPosition, row)); * } * } * * private string[] SetRowInDataForHead(int HeadPosition, string[] row) * { * string[] NewRow = new string[row.Length - 1]; * int j = 0; * for(int i = 0; i<row.Length;i++) * { * if(i != HeadPosition) * { * NewRow[j] = row[i]; * } * } * return NewRow; * } * * private int GetHeaderPosition(string HeadName) * { * for(int i = 0; i < Data.headers.Length; i++) * { * if (HeadName == Data.headers[i]) * return i; * } * return -1; * } * * private void SetHeadersForHead(string HeadName) * { * string[] NewHeaders = new string[Data.headers.Length-1]; * int i = 0; * foreach(string name in Data.headers) * { * if(name != HeadName) * { * NewHeaders[i] = name; * i++; * } * } * Head.Data.headers = NewHeaders; * } */ public void BuildTree() { Head = new ID3Node(); Head.Data = Data; Head.BuildTree(); }