private void sortBtn_Click(object sender, EventArgs e) { if (underTwentyRBtn2.Checked) { A.QuickSortPeopleYoungerTwenty(); ShouA(); } else if (populationRBtn2.Checked) { A.QuickSortAmountPeople(); ShouA(); } //!!!1 отсортировать список и вывести его "givenCitiesGridViewA" }
private void SortWayBtn_Click(object sender, EventArgs e) { if (underTwentyRBtn3.Checked) { C.QuickSortPeopleYoungerTwenty(); ShouC(); } else if (populationRBtn3.Checked) { C.QuickSortAmountPeople(); ShouC(); } //!!!1 полностю аналогично пердыдущим пердеудущему методу сортировки на сей рас с списком С //!!!1 далее также аналогично нужно создать с списком Д и формой Д передачю на последжнюю гридвю Д //!!!1 при нажатии на кнопку покахзать на карте будет передаватся на следущую форму списоук Д }
public void QuickSortPeopleYoungerTwenty() { Node pivot = this.last; //Node first = this.head; if (this.Size > 1) { TwoWayLinkedList listMorePivot = new TwoWayLinkedList(); TwoWayLinkedList listLessPivot = new TwoWayLinkedList(); foreach (City city in this) { if (city == this.last.data) { break; } if (city.AmountPeople >= pivot.data.AmountPeopleYoungerTwenty) { listMorePivot.PushFirst(city); } else { listLessPivot.PushFirst(city); } } listMorePivot.QuickSortPeopleYoungerTwenty(); listLessPivot.QuickSortPeopleYoungerTwenty(); listLessPivot.PushLast(pivot.data); listLessPivot.Concatenation(listMorePivot); this.head = listLessPivot.head; this.last = listLessPivot.last; // присваевается концу списка меньших за опорный ибо после конкатенации в списке меньших за опроный // находится уже сума списков больших и меньших за опроных, а список больших остаеться быть таким же и иногода он может быть пустым. } }