🔴 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.
| Algorithm | Best For | Average Complexity |
|---|---|---|
| Bubble Sort | Basic learning | O(n²) |
| Selection Sort | Simple minimum selection | O(n²) |
| Insertion Sort | Nearly sorted data | O(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 हैं