// Skaitomi duomenys iš failo ir sudedami į sąrašą ATVIRKŠČIA tvarka // fv – duomenų failo vardas // vardo numeris Vardai masyve static void SkaitytiAtv(string fv, int indeksas, string[] Vardai, LinkedList <Mobilus> A) { using (var failas = new StreamReader(fv)) { string eilute; Vardai[indeksas] = eilute = failas.ReadLine(); while ((eilute = failas.ReadLine()) != null) { string[] eilDalis = eilute.Split(';'); string modelis = eilDalis[0]; string tipas = eilDalis[1]; int baterija = int.Parse(eilDalis[2]); Mobilus elem = new Mobilus(modelis, tipas, baterija); A.AddFirst(elem); } } }
// Ieškoma naujo elemento įterpimo vieta. // Vieta objektui elementas ieškoma, naudojantis sukurtu operatoriumi // sar – susietas sąrašas // elementas – objektas static Mobilus Vieta(LinkedList <Mobilus> sar, Mobilus elementas) { Mobilus rastasElem = new Mobilus(); rastasElem.Baterija = -1; foreach (Mobilus elem in sar) { if (elem <= elementas) { rastasElem = elem; } if (elementas >= elem) { break; } } return(rastasElem); }
// Iš sąrašo senas kopijuoja objektus į sąrašą naujas // senas įrenginių sąrašas // tipas atrenkamų įrenginių tipas // naujas naujo objektų sąrašo adresas static void Atrinkti_Į_Rikiuotą(LinkedList <Mobilus> senas, string tipas, LinkedList <Mobilus> naujas) { foreach (Mobilus elem in senas) { if (elem.Tipas == tipas) { Mobilus pagalb = Vieta(naujas, elem); if (pagalb.Baterija == -1) { naujas.AddFirst(elem); } else { LinkedListNode <Mobilus> mazgas = naujas.Find(pagalb); naujas.AddAfter(mazgas, elem); } } } }
public override bool Equals(object objektas) { Mobilus telef = objektas as Mobilus; return(telef.Tipas == Tipas && telef.Modelis == Modelis && telef.Baterija == Baterija); }