Mavzu: Massivlarni saralash Ishni maqsadi: Massivlarni saralash usullarini o’rganish Masalani berilishi



Yüklə 19,84 Kb.
səhifə2/2
tarix24.06.2022
ölçüsü19,84 Kb.
#62242
1   2
3-Лаборатория иши

11

9

7

2

1-o‘tish

2

4

11

9

7

10

2-o‘tish

2

4

11

9

7

10

3-o‘tish

2

4

7

9

11

10

4-o‘tish

2

4

7

9

11

10

5-o‘tish

2

4

7

9

10

11

1-rasm. Tanlash usulida saralash

Algoritmning C++ da amalga oshirilish:
for( i = 0; i < N-1 ; i ++ ) {
nMin = i ;
for ( j = i+1; j < N; j ++)
if( A[j] < A[nMin] ) nMin = j;
if( nMin != i ) {
c = A[i];
A[i] = A[nMin];
A[nMin] = c;
}
}
Dasturning to ‘liq matni:
#include
int main()
{ int N, i , j, c, k, nMin;
int A[100];
cin>>N;
for (i=0; i>A[i];
for( i = 0; i < N-1 ; i ++ ) {
nMin = i ;
for ( j = i+1; j < N; j ++)
if( A[j] < A[nMin] ) nMin = j;
if( nMin != i ) {
c = A[i];
A[i] = A[nMin];
A[nMin] = c;
}
}
for (i = 0; i < N; i++) cout<}

в)Almashtirish usuli. Bu usul bilan saralashda tartibga solinadigan ketma-ketlik xotiraning dastlabki ketma-ketlik joylashgan erida tashkil etiladi. Saralash jarayonida qo’shni elementlar juftlab solishtiriladi. Agar solishtirilayotgan elementlar o’rtasidagi tartib buzilgan bo’lsa ularning joylari almashtiriladi. Bu almashtirish usuli ko’pincha pufakcha usuli deb ham ataladi, chunki eng kichik elementlar har bir o’tishda xuddi pufakchalarga o’xshab ketma-ketlikning birinchi pozisiyasi yo’nalishida «qalqib» chiqadi. 2-rasmda pufakcha usulida saralash namunasi keltirilgan. Birinchi o’tish davomida A1 va A2 elementlari solishtiriladi. Agar A2
Har bir keyingi o’tishda navbatdagi eng katta elementlar tegishlicha N - 1, N - 2 va hokazo pozisiyalarni egallaydi, natijada tartibga solingan massiv tuziladi.
Har bir o’tishdan so’ng ushbu o’tish davomida joy almashtirishlar bo’lgan-bo’lmaganligini tekshirib qo’yish mumkin. Agar joy almashtirishlar bo’lmagan bo’lsa, bu ketma-ketlik tartibga solinganligi va keyingi o’tishlar talab etilmasligini bildiradi. O’tishlar davomida almashtirishda ishtirok etadigan oxirgi element (2-rasmda bu elementlar qo’sh chiziq bilan chizilgan) qayd etiladi. Navbatdagi o’tishda tagiga chizilgan element va barcha undan keyingi elementlar solishtirishda ishtirok etmaydi, chunki shu pozisiyadan boshlab ketma-ketlik tartibga solingan bo’ladi.

i

A[i]

1-o‘tish

2-o‘tish

3-o‘tish

4-o‘tish

5-o‘tish

1

10

4

4

4

4

2

2

4

10

9

7

2

4

3

11

9

7

2

7

7

4

9

7

2

9

9

9

5

7

2

10

10

10

10

6

2

11

11

11

11

11

2-rasm. Almashtirish usulida saralash

Algoritmning C++ da amalga oshirilish:


for (i = 0; i < N-1; i ++){
for (j = N-2; j >= i ; j --)
if ( A[j] > A[j+1] ) {
с = A[j];
A[j] = A[j+1];
A[j+1] = с;
}
}
Dasturning to ‘liq matni:
#include


int main()
{
int N, i , j, c; int A[100]; cin>>N;
for (i=0; i>A[i];
for (i = 0; i < N-1; i ++){
for (j = N-2; j >= i ; j --)
if ( A[j] > A[j+1] ) {
c = A[j];
A[j] = A[j+1];
A[j+1] = c;
}
}
for (i = 0; i < N; i++) cout<
return 0;
}
Yüklə 19,84 Kb.

Dostları ilə paylaş:
1   2




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin