// Užrašykite dvejetainės paieškos rikiuotame masyve metodą. public int DvejetainėPaieška(Krepsininkas naujas) { int start = 0; int end = n - 1; int mid; while (start <= end) { mid = (start + end) / 2; if (komanda[mid] == naujas) { return(mid); } else { if (komanda[mid] <= naujas) { start = mid + 1; } else { end = mid - 1; } } } return(-1); }
// Užrašykite vieno konteinerio žaidėjų įterpimo į kitą, rikiuotą konteinerį metodą. static void IterptiVienaIKita(Komanda senas, Komanda naujas) { for (int i = 0; i < naujas.ImtiN(); i++) { Krepsininkas temp = naujas.ImtiKrepsininka(i); int ind = senas.RastiVieta(temp); senas.Įterpti(ind, temp); } }
// Užrašykite naujo žaidėjo įterpimo į rikiuotą konteinerį metodą. // Konteineryje žaidėjai rikiuoti taškų mažėjimo ir vardų alfabetine tvarka. public void Įterpti(int k, Krepsininkas naujas) { for (int i = n; i > k; i--) { komanda[i] = komanda[i - 1]; } komanda[k] = naujas; n++; }
public int RastiVieta(Krepsininkas naujas) { int ind = 0; while (ind < n && komanda[ind] <= naujas) { ind++; } return(ind); }
// Užrašykite naujo žaidėjo įterpimo į rikiuotą konteinerį metodą. // Konteineryje žaidėjai rikiuoti taškų mažėjimo ir vardų alfabetine tvarka. public void Iterpti(Krepsininkas k) { int j = n - 1; while (j >= 0 && k <= komanda[j]) { komanda[j + 1] = komanda[j]; j--; } komanda[j + 1] = k; n++; }
public void Išmesti(Komanda senas, Komanda naujas) { for (int i = 0; i < naujas.ImtiN(); i++) { Krepsininkas temp = naujas.ImtiKrepsininka(i); int index = senas.DvejetainėPaieška(temp); if (index != -1) { for (int j = index; j < n - 1; j++) { senas.Deti(j, senas.ImtiKrepsininka(j + 1)); } senas.setN(); } else { Console.WriteLine("Žaidėjas, kurio numeris naujame konteineryje {0}, nerastas", i + 1); } } }
// Užrašykite konteinerio rikiavimo taškų mažėjimo ir vardų alfabetine tvarka metodą. public void Rikiuoti() { int min; for (int i = 0; i < n - 1; i++) { min = i; for (int j = i + 1; j < n; j++) { if (komanda[j] <= komanda[min]) { min = j; } } Krepsininkas temp = komanda[i]; komanda[i] = komanda[min]; komanda[min] = temp; } }
static void Print(string fv, Komanda komanda, string tekstas) { using (var writer = File.AppendText(fv)) { if (komanda.ImtiN() != 0) { writer.WriteLine(); writer.WriteLine(" " + tekstas); writer.WriteLine(); writer.WriteLine("| Vardas Pavardė | Metai | Ūgis | Taškai |"); for (int i = 0; i < komanda.ImtiN(); i++) { Krepsininkas k = komanda.ImtiKrepsininka(i); writer.WriteLine("|{0, 29} |{1, 12} |{2, 12} |{3, 14} |", k.ImtiVarda(), k.ImtiMetus(), k.ImtiUgi(), k.ImtiTaskus()); } } else { writer.WriteLine("Konteineryje nėra elementų"); } } }
public void DetiKrepsininka(Krepsininkas krepsininkas) { komanda[n] = krepsininkas; n++; }
// Užrašykite konteinerio Naujas žaidėjų išmetimo iš kito, rikiuoto konteinerio, metodą. // Panaudokite susikurtą dvejetainės paieškos metodą. public void Deti(int ind, Krepsininkas naujas) { komanda[ind] = naujas; }