From aea3c32877d812cc5e687059d5db13345538054f Mon Sep 17 00:00:00 2001 From: Lendaia Mirai Date: Tue, 2 Dec 2025 22:51:20 +0100 Subject: [PATCH] ehehehhh --- ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs | 148 ++++++++++++++++++++- 1 file changed, 147 insertions(+), 1 deletion(-) diff --git a/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs b/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs index ccd32ec..ccb2cd3 100644 --- a/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs +++ b/ALGA/Adatszerkezetek/10_SulyozotlanGraf.cs @@ -1,6 +1,152 @@ using System; +using System.Data.Common; +using Newtonsoft.Json.Converters; namespace OE.ALGA.Adatszerkezetek { - // 10. heti labor feladat - Tesztek: 10_SulyozatlanGrafTesztek.cs + public class EgeszGrafEl : GrafEl, IComparable + { + public int Honnan {get;} + + public int Hova {get;} + public EgeszGrafEl(int honnan, int hova) + { + Honnan = honnan; + Hova = hova; + } + + public int CompareTo(object? obj) + { + EgeszGrafEl ob = (EgeszGrafEl)obj; + + if (this.Honnan != ob.Honnan) + { + if(this.Honnan < ob.Honnan) + { + return -1; + } + else + { + return 1; + } + } + else + { + if(this.Hova < ob.Hova) + { + return -1; + } + else if(this.Hova > ob.Hova) + { + return 1; + } + else + { + return 0; + } + } + } + } + public class CsucsmatrixSulyozatlanEgeszGraf : SulyozatlanGraf + { + int n; + bool[,] M; + public int CsucsokSzama + { + get{ return n; } + } + + public int ElekSzama + { + get + { + int elek = 0; + for (int i = 0; i < n; i++) + { + for (int j = 0; j < n; j++) + { + if (M[i,j]) + { + elek++; + } + } + } + return elek; + } + } + + public Halmaz Csucsok + { + get + { + FaHalmaz fahalmaz = new FaHalmaz(); + for (int i = 0; i < n-1; i++) + { + fahalmaz.Beszur(i); + } + return fahalmaz; + } + } + + public Halmaz Elek + { + get + { + FaHalmaz fahalmaz = new FaHalmaz(); + for (int i = 0; i < n; i++) + { + for (int j = 0; j < n; j++) + { + if (M[i,j]) + { + EgeszGrafEl egeszgrafel = new EgeszGrafEl(i, j); + fahalmaz.Beszur(egeszgrafel); + } + } + } + return fahalmaz; + } + } + + //Halmaz Graf.Elek => throw new NotImplementedException(); + + public CsucsmatrixSulyozatlanEgeszGraf(int n) + { + this.n = n; + M = new bool[n,n]; + } + + public Halmaz Szomszedai(int csucs) + { + FaHalmaz fahalmaz = new FaHalmaz(); + for (int i = 0; i < n; i++) + { + if (M[csucs, i]) + { + fahalmaz.Beszur(i); + } + } + return fahalmaz; + } + + public void UjEl(int honnan, int hova) + { + M[honnan, hova] = true; + } + + public bool VezetEl(int honnan, int hova) + { + return M[honnan, hova]; + } + } + public class GrafBejaras + { + public static Halmaz SzelessegiBejaras(Graf g, V start, Action muvelet) where V : IComparable + { + FaHalmaz fahalmaz = new FaHalmaz(); + int j = 0; + g.Csucsok.Bejar(muvelet); + //eheheheee + } + } } \ No newline at end of file