C++ TILIDA MA'LUMOTLARNI SARALASHNING TURLI USULLARINI JORIY QILISH VA TAQQOSLASH

Аннотация

Ushbu maqolada C++ dasturlash tilida ma'lumotlarni saralashning turli usullari, ularning ishlash tamoyillari va samaradorligi ko‘rib chiqiladi. Maqolada Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort va STL (Standard Template Library) qatoridagi sort() funksiyasi kabi saralash algoritmlarining kod misollari keltirilgan. Har bir algoritmning tezligi (Big-O analiz), xotira samaradorligi va amaliy qo‘llanilishi bo‘yicha taqqoslanadi. Shuningdek, har xil saralash usullarining kichik hajmdagi va katta hajmdagi ma'lumotlar bilan ishlashdagi samaradorligi haqida fikr yuritiladi.

Тип источника: Конференции
Годы охвата с 2022
inLibrary
Google Scholar
Выпуск:
28-32
201

Скачивания

Данные скачивания пока недоступны.
Поделиться
Shermatova , X. ., & Tursunaliyeva, M. . (2025). C++ TILIDA MA’LUMOTLARNI SARALASHNING TURLI USULLARINI JORIY QILISH VA TAQQOSLASH. Теоретические аспекты становления педагогических наук, 4(6), 28–32. извлечено от https://inlibrary.uz/index.php/tafps/article/view/76470
Crossref
Сrossref
Scopus
Scopus

Аннотация

Ushbu maqolada C++ dasturlash tilida ma'lumotlarni saralashning turli usullari, ularning ishlash tamoyillari va samaradorligi ko‘rib chiqiladi. Maqolada Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort va STL (Standard Template Library) qatoridagi sort() funksiyasi kabi saralash algoritmlarining kod misollari keltirilgan. Har bir algoritmning tezligi (Big-O analiz), xotira samaradorligi va amaliy qo‘llanilishi bo‘yicha taqqoslanadi. Shuningdek, har xil saralash usullarining kichik hajmdagi va katta hajmdagi ma'lumotlar bilan ishlashdagi samaradorligi haqida fikr yuritiladi.


background image

THEORETICAL ASPECTS IN THE FORMATION OF

PEDAGOGICAL SCIENCES

International scientific-online conference

28

C++ TILIDA MA'LUMOTLARNI SARALASHNING TURLI USULLARINI

JORIY QILISH VA TAQQOSLASH

Shermatova Xilola Mirzayevna

Fargʻona davlat universiteti Axborot texnologiyalari kafedrasi dotsenti

shermatovahilola1978@gmail.com

Mubina Tursunaliyeva Xursanali qizi

Fargʻona davlat universiteti Axborot tizimlari va

texnologiyalar yo‘nalishi

1-kurs talabasi

https://doi.org/10.5281/zenodo.15123156

Annotatsiya

Ushbu maqolada C++ dasturlash tilida ma'lumotlarni saralashning turli

usullari, ularning ishlash tamoyillari va samaradorligi ko‘rib chiqiladi. Maqolada
Bubble

Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort va STL

(Standard Template Library) qatoridagi sort() funksiyasi kabi saralash
algoritmlarining kod misollari keltirilgan. Har bir algoritmning tezligi (Big-O
analiz), xotira samaradorligi va amaliy qo‘llanilishi bo‘yicha taqqoslanadi.
Shuningdek, har xil saralash usullarining kichik hajmdagi va katta hajmdagi
ma'lumotlar bilan ishlashdagi samaradorligi haqida fikr yuritiladi.

Аннотация

В данной статье рассматриваются различные методы сортировки

данных в языке программирования C++, их принципы работы и
эффективность. Описаны и проанализированы такие алгоритмы, как
Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort, а также
встроенная функция sort() из Standard Template Library (STL). Каждый
алгоритм сравнивается по временной сложности (Big-O анализ),
эффективности использования памяти и применимости в реальных
задачах. Также обсуждается их производительность при работе с
небольшими и большими объемами данных.

Abstract

This article explores various sorting algorithms in C++, their working

principles, and efficiency. The study covers Bubble Sort, Selection Sort, Insertion
Sort, Merge Sort, Quick Sort, and the built-in sort() function from the Standard
Template Library (STL). Each algorithm is analyzed based on time complexity
(Big-O analysis), memory usage, and practical applications. Additionally, their
performance is evaluated for small and large datasets.

Kalit so‘zlar:

C++ saralash, saralash algoritmlari, Pufakcha saralash, Tanlab

saralash, Qo‘yish usuli bilan saralash, Birlashtirish usuli bilan saralash, Tezkor


background image

THEORETICAL ASPECTS IN THE FORMATION OF

PEDAGOGICAL SCIENCES

International scientific-online conference

29

saralash, STL sort() funksiyasi, algoritm murakkabligi, vaqt murakkabligi,
samaradorlik, ma'lumot tuzilmalari, hisoblash unumdorligi.

Ключевые слова:

C++ сортировка, алгоритмы сортировки,

пузырьковая сортировка, сортировка выбором, сортировка вставками,
сортировка слиянием, быстрая сортировка, STL sort(), сложность
алгоритма, временная сложность, эффективность, структуры данных,
вычислительная производительность.

Keywords:

C++ sorting, sorting algorithms, Bubble Sort, Selection Sort,

Insertion Sort, Merge Sort, Quick Sort, STL sort(), algorithm complexity, time
complexity, efficiency, data structures, computational performance.

Saralash algoritmlari kompyuter fanining muhim yo‘nalishlaridan biri

bo‘lib, ma’lumotlarni tartibga solish va qidiruv jarayonlarini optimallashtirishda
muhim rol o‘ynaydi. C++ dasturlash tilida turli saralash algoritmlarini joriy qilish
va ularni taqqoslash orqali eng samarali usulni tanlash mumkin. Saralash
algoritmlari turli mezonlar bo‘yicha baholanadi. Vaqt murakkabligi

(O(n²), O(n

log n) va h.k.),

xotira murakkabligi

(Qo‘shimcha xotira talab qilinishi yoki in-place

saralash),

eng yaxshi, o‘rtacha va eng yomon holatlardagi ishlash samaradorligi

kabi.

Ushbu maqolada C++ tilida saralash algoritmlarining dasturiy ifodasi va

ularning samaradorlik jihatlari tahlil qilinadi.

C++ tilida saralash usullari.
Bubble Sort (Pufakcha saralash) -

eng oddiy saralash usullaridan biri

bo‘lib, har bir juft elementlarni taqqoslab, ularni tartibga keltiradi.

Vaqt murakkabligi

-

Eng yomon holat: O(n²) - agar massiv teskari tartibda

bo‘lsa, hamma elementlar almashtiriladi. Eng yaxshi holat: O(n) - agar massiv
allaqachon saralangan bo‘lsa, almashtirildi bayrog‘i tufayli faqat bitta sikl
bajariladi.

#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(std::vector<int>& arr) {
int n = arr.size();
bool almashtirildi;
for (int i = 0; i < n - 1; i++) {
almashtirildi = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {


background image

THEORETICAL ASPECTS IN THE FORMATION OF

PEDAGOGICAL SCIENCES

International scientific-online conference

30

swap(arr[j], arr[j + 1]);
almashtirildi = true;
}
}
if (!almashtirildi) break;
}
}

Selection sort (tanlab saralash) -

Selection Sort har safar eng kichik

elementni topib, uni massiv boshiga joylashtirish orqali ishlaydi. Vaqt
murakkabligi: Eng yomon holat: O(n²). O‘rtacha holatda: O(n²). Eng yaxshi holat:
O(n²). Bu saralash usuli Bubble Sort bilan bir xil vaqt murakkabligiga ega, lekin
almashtirishlar soni kamroq bo‘lgani uchun ko‘proq optimal.

void selectionSort(std::vector<int>& arr) {
int n = arr.size();
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
std::swap(arr[i], arr[minIndex]);
}
}

Insertion Sort (Qo‘yish orqali saralash) -

Insertion Sort yangi

elementlarni o‘z o‘rniga qo‘yish orqali saralashni amalga oshiradi. Vaqt
murakkabligi: Eng yomon holat: O(n²). Eng yaxshi holat: O(n) (massiv oldindan
saralangan bo‘lsa). Kichik hajmdagi massivlar uchun yaxshi ishlaydi. Qisman
saralangan massivlar uchun juda samarali.

void insertionSort(std::vector<int>& arr) {
int n = arr.size();
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;


background image

THEORETICAL ASPECTS IN THE FORMATION OF

PEDAGOGICAL SCIENCES

International scientific-online conference

31

}
arr[j + 1] = key;
}
}

Merge Sort (Bo‘lish va qo‘shish usuli) -

Merge Sort rekursiv yondashuv

asosida massivni ikkiga bo‘lib, keyin saralab birlashtiradi. Vaqt murakkabligi:

Eng yomon holat: O(n log n). Eng yaxshi holat: O(n log n)

void merge(std::vector<int>& arr, int left, int mid, int right) {
int i = left, j = mid + 1, k = 0;
std::vector<int> temp(right - left + 1);
while (i <= mid && j <= right) {
if (arr[i] <= arr[j])
temp[k++] = arr[i++];
else
temp[k++] = arr[j++];
}
while (i <= mid) temp[k++] = arr[i++];
while (j <= right) temp[k++] = arr[j++];
for (int i = left, k = 0; i <= right; i++, k++) arr[i] = temp[k];
}
void mergeSort(std::vector<int>& arr, int left, int right) {
if (left < right) {
int mid = left + (right - left) / 2;
mergeSort(arr, left, mid);
mergeSort(arr, mid + 1, right);
merge(arr, left, mid, right);
}
}

STL sort() funksiyasi -

C++ STL kutubxonasidagi sort() funksiyasi Quick

Sort, Heap Sort va Insertion Sort kombinatsiyasidan foydalanadi. Vaqt
murakkabligi: O‘rtacha holat: O(n log n).

#include <algorithm>
std::sort(arr.begin(), arr.end());

Xulosa

Keltirilgan turli xil saralash algoritmlari – Bubble Sort, Selection Sort,

Insertion Sort, Merge Sort va Quick Sort – har biri o‘ziga xos ishlash printsipiga
ega bo‘lib, ularning samaradorligi va vaqt murakkabligi bir-biridan farq qiladi.


background image

THEORETICAL ASPECTS IN THE FORMATION OF

PEDAGOGICAL SCIENCES

International scientific-online conference

32

Oddiy algoritmlar, masalan, Bubble Sort va Selection Sort, kichik hajmdagi
ma’lumotlar uchun mos bo‘lsa-da, katta hajmdagi ma’lumotlar bilan ishlashda
samarador emas. Shu bilan birga, Merge Sort va Quick Sort kabi ilg‘or usullar
katta hajmdagi ma’lumotlar uchun ancha samarali hisoblanadi. STL
kutubxonasidagi sort() funksiyasi zamonaviy va optimallashtirilgan usullardan
foydalanib, eng yaxshi natijalarni taqdim etadi. Saralash algoritmlarining vaqt
murakkabligi va samaradorligi ularni tanlashda muhim ahamiyat kasb etadi,
chunki ular ma’lumotlar tuzilmasi va hisoblash unumdorligiga bevosita ta’sir
ko‘rsatadi. Optimal algoritmni tanlash bilan dastur ishlash tezligi va
resurslardan foydalanish samaradorligini oshirish mumkin.

Foydalanilgan adabiyotlar:

1.

Cormen, T. "Introduction to Algorithms" – MIT Press, 2009.

2.

Meyers, S. "Effective STL" – Addison-Wesley, 2001.

3.

Stroustrup, B. "The C++ Programming Language" – Addison-Wesley, 2013.

4.

cplusplus.com

5.

GeeksforGeeks

Библиографические ссылки

Cormen, T. "Introduction to Algorithms" – MIT Press, 2009.

Meyers, S. "Effective STL" – Addison-Wesley, 2001.

Stroustrup, B. "The C++ Programming Language" – Addison-Wesley, 2013.

cplusplus.com

GeeksforGeeks