public void Insert(T value, float cmp) { DupEntry newEntry = new DupEntry(cmp, value); for (int i = 0; i <= entries.Count; i++) { if (i == entries.Count || newEntry.comparator >= entries[i].comparator) { entries.Insert(i, newEntry); break; } } }
public void Check() { DupList = new List <DupEntry>(); int count = cat.lines.Count; isDup = new bool[count]; StringBuilder sb = new StringBuilder(); for (int i = 0; i < count - 1; i++) { if (!isDup[i]) { if (i % 100 == 0) { rtb1.Text = "Checking " + i + " / " + count; Application.DoEvents(); } DupEntry d = new DupEntry(); d.firstIdx = i; d.dupIdx = new List <int>(); for (int j = i + 1; j < count; j++) { if (cat.lines[i][0] == cat.lines[j][0] && cat.lines[i][1] == cat.lines[j][1] && cat.lines[i][2] == cat.lines[j][2] && cat.lines[i][3] == cat.lines[j][3] && cat.lines[i][4] == cat.lines[j][4]) { isDup[i] = isDup[j] = true; d.dupIdx.Add(j); } } if (d.dupIdx.Count != 0) { sb.Append("Found duplicate times " + d.dupIdx.Count + " for Index " + d.firstIdx + "\n"); DupList.Add(d); } } } rtb1.Text = "Checking " + count + " / " + count + "\n"; rtb1.AppendText(sb.ToString()); Application.DoEvents(); }
public void Check() { DupList = new List<DupEntry>(); int count = cat.lines.Count; isDup = new bool[count]; StringBuilder sb = new StringBuilder(); for (int i = 0; i < count - 1; i++) if (!isDup[i]) { if (i % 100 == 0) { rtb1.Text = "Checking " + i + " / " + count; Application.DoEvents(); } DupEntry d = new DupEntry(); d.firstIdx = i; d.dupIdx = new List<int>(); for (int j = i + 1; j < count; j++) { if (cat.lines[i][0] == cat.lines[j][0] && cat.lines[i][1] == cat.lines[j][1] && cat.lines[i][2] == cat.lines[j][2] && cat.lines[i][3] == cat.lines[j][3] && cat.lines[i][4] == cat.lines[j][4]) { isDup[i] = isDup[j] = true; d.dupIdx.Add(j); } } if (d.dupIdx.Count != 0) { sb.Append("Found duplicate times " + d.dupIdx.Count + " for Index " + d.firstIdx + "\n"); DupList.Add(d); } } rtb1.Text = "Checking " + count + " / " + count + "\n"; rtb1.AppendText(sb.ToString()); Application.DoEvents(); }