public TwoWayLinkedList GetRoute(TwoWayLinkedList chosenCities, City startPoint) { /* * LIST chosenCities SHOULDN'T CONTAIN STARTPOINT */ City currentCity = startPoint; int currentCityIndex = 0; int[] distanceFromCurrentCity; City nearestNeighbour; int nearestNeighbourIndex; TwoWayLinkedList route = new TwoWayLinkedList(); while (chosenCities.GetSize() != 0) { currentCityIndex = FindCurrentCityIndex(currentCity); distanceFromCurrentCity = Dijkstra(CitiesInfo.Distances, currentCityIndex); nearestNeighbourIndex = MinDistanceIndex(distanceFromCurrentCity, chosenCities); nearestNeighbour = CitiesInfo.Cities[nearestNeighbourIndex]; route.Concatenation(intermediateCities[nearestNeighbourIndex]); route.PushLast(nearestNeighbour); chosenCities.DelMidle(chosenCities.IndexOf(nearestNeighbour)); currentCity = nearestNeighbour; } return(ClearRepetitions(route)); }
private void ShouD() { finalGridViewD.Rows.Clear(); for (int k = finalGridViewD.RowCount - 1; k < D.GetSize(); k++) { finalGridViewD.Rows.Add(); } int a = 0; foreach (City city in D) { finalGridViewD[0, a].Value = city.Name; finalGridViewD[2, a].Value = city.AmountPeopleYoungerTwenty; finalGridViewD[1, a].Value = city.AmountPeople; a++; } }
private void ShouB() { gottenGridViewC.Rows.Clear(); for (int k = gottenGridViewC.RowCount - 1; k < B.GetSize(); k++) { gottenGridViewC.Rows.Add(); } int a = 0; foreach (City city in B) { gottenGridViewC[0, a].Value = city.Name; gottenGridViewC[2, a].Value = city.AmountPeopleYoungerTwenty; gottenGridViewC[1, a].Value = city.AmountPeople; a++; } }
private void ShouC() { tourGridViewB.Rows.Clear(); for (int k = tourGridViewB.RowCount - 1; k < C.GetSize(); k++) { tourGridViewB.Rows.Add(); } int a = 0; foreach (City city in C) { tourGridViewB[0, a].Value = city.Name; tourGridViewB[2, a].Value = city.AmountPeopleYoungerTwenty; tourGridViewB[1, a].Value = city.AmountPeople; a++; } }
private void ShouA() { givenCitiesGridViewA.Rows.Clear(); for (int k = givenCitiesGridViewA.RowCount - 1; k < A.GetSize(); k++) { givenCitiesGridViewA.Rows.Add(); } int a = 0; foreach (City city in A) { givenCitiesGridViewA[0, a].Value = city.Name; givenCitiesGridViewA[2, a].Value = city.AmountPeopleYoungerTwenty; givenCitiesGridViewA[1, a].Value = city.AmountPeople; a++; } }