Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void Odtwórz(int?[] drogi)
- {
- Stack<int?> s1 = new Stack<int?>();
- for (int i = 2; i < drogi.Length; i++)
- {
- int? tmp = drogi[i];
- s1.Push(i);
- while (tmp != null)
- {
- s1.Push(tmp);
- tmp = drogi[(int)tmp];
- }
- Console.Write("(");
- while (s1.Count > 0)
- {
- if (s1.Count == 1)
- {
- Console.Write($"{s1.Pop()}");
- }
- else
- {
- Console.Write($"{s1.Pop()},");
- }
- }
- Console.Write(") ");
- }
- Console.WriteLine();
- }
- static void BFS(int[,] Graf, bool[] odwiedzony, int?[] droga, int wierzcholek)
- {
- Queue<int> q1 = new Queue<int>();
- int tmp = wierzcholek;
- q1.Enqueue(tmp);
- while (q1.Count > 0)
- {
- tmp = q1.Dequeue();
- Console.Write(tmp + " ");
- odwiedzony[tmp] = true;
- for (int i = 0; i < odwiedzony.Length; i++)
- {
- if (!odwiedzony[i] && Graf[tmp, i] != 0)
- {
- q1.Enqueue(i);
- odwiedzony[i] = true;
- droga[i] = tmp;
- }
- }
- }
- Console.WriteLine();
- }
- static void BFS2(int[,] Graf, bool[] odwiedzony, int?[] droga, int wierzcholek)
- {
- Queue<int>q1 = new Queue<int>();
- int tmp = wierzcholek;
- q1.Enqueue(tmp);
- while (q1.Count > 0)
- {
- tmp = q1.Dequeue();
- if (!odwiedzony[tmp])
- {
- Console.Write(tmp + " ");
- odwiedzony[tmp] = true;
- for (int i = 0; i <odwiedzony.Length; i++)
- {
- if (!odwiedzony[i] && Graf[tmp, i] != 0)
- {
- q1.Enqueue(i);
- // odwiedzony[i] = true;
- droga[i] = tmp;
- }
- }
- }
- }
- static void DFS(int[,] Graf, bool[] odwiedzony, int?[] droga, int wierzcholek)
- {
- Stack<int> s1 = new Stack<int>();
- int tmp = wierzcholek;
- s1.Push(tmp);
- while (s1.Count > 0)
- {
- tmp = s1.Pop();
- Console.Write(tmp + " ");
- odwiedzony[tmp] = true;
- for (int i = odwiedzony.Length - 1; i >= 0; i--)
- {
- if (!odwiedzony[i] && Graf[tmp, i] != 0)
- {
- s1.Push(i);
- odwiedzony[i] = true;
- droga[i] = tmp;
- }
- }
- }
- Console.WriteLine();
- }
- static void DFS2(int[,] Graf, bool[] odwiedzony, int?[] droga, int wierzcholek)
- {
- Stack<int> s1 = new Stack<int>();
- int tmp = wierzcholek;
- s1.Push(tmp);
- while (s1.Count > 0)
- {
- tmp = s1.Pop();
- if (!odwiedzony[tmp])
- {
- Console.Write(tmp + " ");
- odwiedzony[tmp] = true;
- for (int i = odwiedzony.Length - 1; i >= 0; i--)
- {
- if (!odwiedzony[i] && Graf[tmp, i] != 0)
- {
- s1.Push(i);
- // odwiedzony[i] = true;
- droga[i] = tmp;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement