Дәрістер 1-2 лекция. С тілінде программалау негіздері. Программа құрылымы



бет23/49
Дата18.03.2023
өлшемі1,54 Mb.
#75374
түріЛекция
1   ...   19   20   21   22   23   24   25   26   ...   49
if(a[j]
{ min=a[j];n_min=j; }
a[n_min]=a[i]; //алмастыру
a[i]=min;}

Жай енгізу (кірістіру) тәсілімен сұрыптау


Жиым элементтері екіге – бастапқы тізбекке және дайын тізбекке бө­лі­неді. Әрбір адымда I=2 нөмірінен бастап, бастапқы берілген тіз­бек­тен I-ші элемент алынады да, ол дайын тізбектің керекті жеріне орна­ластырылады. Мұнан кейін I-ге 1 қосылады да, сол әрекеттер қайталанады.

44

55

12

42

94

18

дайын тізбек

бастапқы тізбек

Керекті орынды іздеу кезінде оң жақтағы келесі элементпен орын ауыстыру қарасты­ры­лады, яғни таңдалып алынған элемент сұрыптал­ған­дардың J=I-1 нөмірінен басталатын кезекті элементімен салысты­рылады. Егер таңдалып алынған элемент a[I]-ден артық болса, онда ол сұрыпталғандар ішіне қосылады, әйтпесе a[J] бір орынға ығысады да, таңдалған элемент сұрыпталғандар ішіндегі келесі элементпен салыс­тырылады. Керекті орынды іздеу әрекеті екі жағдайда:

  • егер a[J]>a[I] болатын элемент табылса;

  • дайын тізбектің сол жақ шетіне жеткен кезде аяқталады.

Мысалы:
int i,j,x;
for(i=1;i
{ x=a[i];//ауысатын элементті есте сақтау
j=i-1;
while(x=0) //керекті орынды іздеу
{
a[j+1]=a[j]$ //оңға жылжыту
j--;
}
a[j+1]=x;//элементті кірістіріп қою
}
10-есеп.Бүтін сандардан құралған А(10) бір өлшемді жиымы берілген. Сол жиым элементтерінің арифметикалық ортасын табу керек.


Достарыңызбен бөлісу:
1   ...   19   20   21   22   23   24   25   26   ...   49




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

    Басты бет