🔴 Advanced  ·  Lesson 42

Sorting Algorithms

Sorting Algorithms

Sorting

Sorting means arranging data in a specific order, usually ascending or descending. Sorting makes searching and analysis easier.

AlgorithmBest ForAverage Complexity
Bubble SortBasic learningO(n²)
Selection SortSimple minimum selectionO(n²)
Insertion SortNearly sorted dataO(n²)

Bubble Sort

C Language
void bubbleSort(int a[], int n) {
    for(int i = 0; i < n - 1; i++) {
        for(int j = 0; j < n - i - 1; j++) {
            if(a[j] > a[j + 1]) {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }
}

Selection Sort

C Language
void selectionSort(int a[], int n) {
    for(int i = 0; i < n - 1; i++) {
        int min = i;
        for(int j = i + 1; j < n; j++) {
            if(a[j] < a[min]) min = j;
        }
        int temp = a[i];
        a[i] = a[min];
        a[min] = temp;
    }
}

Insertion Sort

C Language
void insertionSort(int a[], int n) {
    for(int i = 1; i < n; i++) {
        int key = a[i];
        int j = i - 1;
        while(j >= 0 && a[j] > key) {
            a[j + 1] = a[j];
            j--;
        }
        a[j + 1] = key;
    }
}
C Language
#include <stdio.h>

void printArray(int a[], int n) {
    for(int i = 0; i < n; i++) printf("%d ", a[i]);
}

int main() {
    int a[] = {5, 2, 9, 1, 6};
    int n = 5;
    bubbleSort(a, n);
    printArray(a, n);
    return 0;
}
1 2 5 6 9

Summary

  • Sorting arranges data in order
  • Bubble sort repeatedly swaps adjacent elements
  • Selection sort selects minimum each round
  • Insertion sort inserts each element in correct position
  • For large data, advanced algorithms like quick sort and merge sort are better

Sorting

Sorting का मतलब data को किसी order में arrange करना है, जैसे ascending या descending.

Bubble Sort

C Language
for(int i = 0; i < n - 1; i++) {
    for(int j = 0; j < n - i - 1; j++) {
        if(a[j] > a[j + 1]) {
            int t = a[j]; a[j] = a[j+1]; a[j+1] = t;
        }
    }
}

Selection Sort

C Language
for(int i = 0; i < n - 1; i++) {
    int min = i;
    for(int j = i+1; j < n; j++)
        if(a[j] < a[min]) min = j;
}

Insertion Sort

C Language
int key = a[i];
while(j >= 0 && a[j] > key) {
    a[j+1] = a[j];
    j--;
}
a[j+1] = key;

सारांश

  • Sorting data को order में arrange करता है
  • Bubble adjacent swapping करता है
  • Selection minimum select करता है
  • Insertion correct position पर insert करता है
  • Large data के लिए quick/merge sort better हैं
← Back to C Tutorial