C#-та қосу, азайту, КӨбейту, БӨлу амалдары



бет16/19
Дата14.10.2023
өлшемі0,94 Mb.
#115131
1   ...   11   12   13   14   15   16   17   18   19
СҰРЫПТАУ
Бүгін біз сұрыптауға тоқталамыз.
Алгорим сипаттамасы:
Сұрыптаудың негізгі идеясы массивтегі көршілес элементтерді жұптап салыстыру болып табылады. Бағдарлама орындалған соң кішісінен үлкен элементке қарай сұрыптау жүргізілетін болады.
Мысалы:
Бізде келесі массив бар: 7 2 9 4 1 0
Алғашқы итерация. Массивтің нөлінші элементін (мұнда 7) көршілес тұрған элементпен салыстырамыз:
7<>2 9 4 1 0
7 саны 2-ден үлкен болғандықтан олардың орнын ауыстырамыз. Келесі массив шығады:
7 9 4 1 0
Содан соң, 7 мен 9-ды салыстырамыз.
7<>9 4 1 0
9 саны 7-ден үлкен болғандықтан өз орнында қалады. Енді, 9 санын көршілес элементтерімен салыстаратын боламыз. Орындары келесідей ауысады:
2 7 9<>4 1 0
2 7 4 9<>1 0
2 7 4 1 9<>0
2 7 4 1 0 9
9-дан үлкен сан болмағандықтан, алғашқы итерацияны аяқтаймыз. Енді біз мәні 9-дан кіші, бірақ басқаларынан үлкен санды табамыз. 9-ға тиісудің қажеті болмайды, себебі ол онсыз да ең үлкен элемент. Сондықтан, итерация қадамдары 1-ге кемитін болады (n-1).
Екінші итерация. Біз қайтадан массивтің нөлінші элементін (2) алып, көршілес элементпен салыстырамыз.
2<>7 4 1 0 9
2 саны 7-ден кем, бірақ олар орындарымен ауыспайды. Келесі қадамда 7 санын көршілес элементпен салыстыру болады.
7<>4 1 0 9
Келесі:
2 4 7<>1 0 9
Келесі:
2 4 1 7<>0 9
Тамаша, біз екінші элементті таптық, ол массивте соңынан санағанда екінші орын алады. Екінші итерация аяқталды. Итерация қадамын 1-ге кішірейтеміз. Өйткені, 7-мен салыстырудың қажеттілігі жоқ.
Екінші итерациядан кейінгі біздің массивтің күйі:
2 4 1 0 7 9
Үшінші итерация. Барлығын осылай қайталаймыз. Нөлінші элементтен бастап, қалған сандардың ішінен үлкенін іздейміз.
2<>4 1 0 7 9
4<>1 0 7 9
2 1 4<>0 7 9
Қорытындысы:
2 1 0 4 7 9
Үшінші итерация аяқталды. Төртіншіні бастаймыз.


Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   19




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет