コード例 #1
0
 private void sortBtn_Click(object sender, EventArgs e)
 {
     if (underTwentyRBtn2.Checked)
     {
         A.QuickSortPeopleYoungerTwenty();
         ShouA();
     }
     else if (populationRBtn2.Checked)
     {
         A.QuickSortAmountPeople();
         ShouA();
     }
     //!!!1 отсортировать список и вывести его "givenCitiesGridViewA"
 }
コード例 #2
0
 private void SortWayBtn_Click(object sender, EventArgs e)
 {
     if (underTwentyRBtn3.Checked)
     {
         C.QuickSortPeopleYoungerTwenty();
         ShouC();
     }
     else if (populationRBtn3.Checked)
     {
         C.QuickSortAmountPeople();
         ShouC();
     }
     //!!!1 полностю аналогично пердыдущим пердеудущему методу сортировки на сей рас с списком С
     //!!!1 далее также аналогично нужно создать с списком Д и формой Д передачю на последжнюю гридвю Д
     //!!!1 при нажатии на кнопку покахзать на карте будет передаватся на следущую форму списоук Д
 }
コード例 #3
0
        public void QuickSortAmountPeople()
        {
            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.AmountPeople)
                    {
                        listMorePivot.PushFirst(city);
                    }
                    else
                    {
                        listLessPivot.PushFirst(city);
                    }
                }

                listMorePivot.QuickSortAmountPeople();
                listLessPivot.QuickSortAmountPeople();

                listLessPivot.PushLast(pivot.data);
                listLessPivot.Concatenation(listMorePivot);

                this.head = listLessPivot.head;
                this.last = listLessPivot.last; // присваевается концу списка меньших за опорный ибо после конкатенации в списке меньших за опроный
                // находится уже сума списков больших и меньших за опроных, а список больших остаеться быть таким же и иногода он может  быть пустым.
            }
        }