public void RozwiazanieLosowe(Plecak plecak, List <Pudelko> pudelka) { int i, j, k; Random random; Pudelko t; random = new Random(); for (i = 0; i < pudelka.Count; i++) { j = random.Next(pudelka.Count); k = random.Next(pudelka.Count); t = pudelka[j]; pudelka[j] = pudelka[k]; pudelka[k] = t; } for (i = 0; i < pudelka.Count; i++) { plecak.SprobujDodac(pudelka[i]); } }
public List <Plecak> RozwiazaniaSasiednie(Plecak plecak, List <Pudelko> pudelka) { List <Plecak> rozwiazania; Plecak rozwiazanie; int i, j; rozwiazania = new List <Plecak>(); for (i = 0; i < plecak.Pudelka.Count; i++) { rozwiazanie = new Plecak(plecak); rozwiazanie.Pudelka.RemoveAt(i); for (j = 0; j < pudelka.Count; j++) { rozwiazanie.SprobujDodac(pudelka[j]); } rozwiazania.Add(rozwiazanie); } return(rozwiazania); }