Untitled
unknown
plain_text
2 years ago
3.0 kB
5
Indexable
using System; namespace Labolatoria05 { public class ArrayList<T> where T : IComparable { public T Var { get; set; } public ArrayList<T> Next { get; set; } public ArrayList() { Next = null; } public ArrayList(T val) { Var = val; Next = null; } public void DodajDoListy(T val) { if (Var.CompareTo(val) < 0) { if (Next == null) { Next = new ArrayList<T>(val); } else { if (Next.Var.CompareTo(val) < 0) { Next.DodajDoListy(val); } else { var newOne = new ArrayList<T>(val); newOne.Next = Next; Next = newOne; } } } else if (Var.CompareTo(val) == 0) { var newOne = new ArrayList<T>(val); newOne.Next = Next; Next = newOne; } else { var newOne = new ArrayList<T>(val); newOne.Var = Var; newOne.Next = Next; Var = newOne.Var; Next = newOne.Next; } } public void Add(T val, ref ArrayList<T> root) { if (val.CompareTo(root.Var) < 0) { var newOne = new ArrayList<T>(val); newOne.Next = root; root = newOne; } else { DodajDoListy(val); } } public bool Find(T val) { if (Var != null) { if (Var.CompareTo(val) == 0) { return true; } } return Next != null && Next.Find(val); } public void Display() { Console.WriteLine(Var); if (Next != null) { Next.Display(); } } } class Program { static void Main(string[] args) { var list = new ArrayList<int>(); Random rand = new Random(); for (int i = 0; i < 10; i++) { int a = rand.Next(20); list.DodajDoListy(a); } list.Display(); if (list.Find(8)) { Console.WriteLine("True"); } else { Console.WriteLine("False"); } Console.ReadKey(); } } }
Editor is loading...
Leave a Comment