O'zbekiston Respublikasi Axborot texnologiyalari
Va kommunikatsiyalarini rivojlantirish vazirligi.
Muhammad al-Xorazmiynomidagi Toshkent Axborot texnologiyalari universiteti
“ Labaratoriya №3“
Bajaruvchi: 411-20 – guruhtalabasi Ahadjon Karimov
Tekshiruvchi :Xojiyeva Nasiba
Laboratoriya ishi: Chiziqli, bir bog‗lamli royhatlar tuzilmasini organish va uni ustida amal bajarish
algoritmlarini tadqiq qilish.
Ishdan maqsad: Chiziqli, bir bog‗lamli ro‗yhatlar tuzilmasini o‗rganish va uni
ustida amal bajarish algoritmlarini tadqiq qilish.
Qo‗yilgan masala: C++ tilida ro‗yhatli tuzilma elementlarini ko‗rsatkichli
maydonlar bilan yaratish va dinamik tuzilmani e‘lon qilish, uning ustida turli
amallar bajarish dasturini ishlab chiqish.
Ish tartibi:
Tajriba ishi nazariy ma‘lumotlarini o‗rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Dinamik ma‘lumotlar tuzilmasi
Statik ma‘lumotlar tuzilmasi vaqt o‗tishi bilan o‗z o‗lchamini o‗zgartirmaydi.
Biz har doim dastur kodidagi statik ma‘lumotlar tuzilmasiga qarab ularning
o‗lchamini bilishimiz mumkin. Bunday ma‘lumotlarga teskari ravishda dinamik
ma‘lumotlar tuzilmasi mavjud bo‗lib, bunda dastur bajarilishi davomida dinamik
ma‘lumotlar tuzilmasi o‗lchamini o‗zgartirishi mumkin.
– bu qandaydir bir qonuniyatga asoslanib shakllangan, lekin
elementlari soni, o‗zaro joylashuvi va o‗zaro aloqasi dastur bajarilishi davomida
shu qonuniyat asosida dinamik o‗zgaruvchan bo‗lgan
Dastur savoli: Ro‘yhat elementlari o‘sish tartibida joylashtirilsin.
Dastur kodi:
#include
void swap(int* xp, int* yp)
{
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void selectionSort(int arr[], int n)
{
int i, j, min_idx;
for (i = 0; i < n - 1; i++) {
min_idx = i;
for (j = i + 1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
swap(&arr[min_idx], &arr[i]);
}
}
void printArray(int arr[], int size)
{
int i;
for (i = 0; i < size; i++)
printf("%d ", arr[i]);
printf("\n");
}
int main()
{
int arr[] = { 0, 23, 14, 12, 9 };
int n = sizeof(arr) / sizeof(arr[0]);
printf("Original array: \n");
printArray(arr, n);
selectionSort(arr, n);
printf("\nO'sish tartibida tartiblangan massiv: \n");
printArray(arr, n);
return 0;
}
Dostları ilə paylaş: |