public int porownaj(zdarzenie a) { if (kiedy < a.dajX()) { return(-1); } if (kiedy > a.dajX()) { return(1); } if (typ < a.dajTyp()) { return(-1); } else { return(1); } }
static void Main(string[] args) { List <zdarzenie> zdazenia = new List <zdarzenie>(); int ax; int ay; int bx; int by; //var s = new FileInfo(Directory.GetCurrentDirectory()); //var s2 = s.Directory.Parent.Parent; //String sciezka = s2.ToString() + "\\dane.csv"; String sciezka = "D:\\studia\\sem2\\grafy\\wyznaczaniePrzecięć\\wyznaczaniePrzecięć\\dane.csv"; using (var reader = new StreamReader(sciezka)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); var values = line.Split(','); ax = Convert.ToInt32(values[0]); ay = Convert.ToInt32(values[1]); bx = Convert.ToInt32(values[2]); by = Convert.ToInt32(values[3]); zdarzenie tmp; if (ax == bx) { if (ay > by) { tmp = new zdarzenie(2, ax, ay, by); zdazenia.Add(tmp); } else { tmp = new zdarzenie(2, ax, by, ay); zdazenia.Add(tmp); } } else { if (ax > bx) { tmp = new zdarzenie(3, ax, ay); zdazenia.Add(tmp); tmp = new zdarzenie(1, bx, by); zdazenia.Add(tmp); } else { tmp = new zdarzenie(1, ax, ay); zdazenia.Add(tmp); tmp = new zdarzenie(3, bx, by); zdazenia.Add(tmp); } } } } //napiszListe(zdazenia); zdazenia.Sort((a, b) => (a.porownaj(b))); //napiszListe(zdazenia); zamiataj(zdazenia); Console.ReadKey(); }