File Structure

.
├── sort.h                   # Header file with function prototypes
├── print_array.c            # Utility function to print arrays
├── print_list.c             # Utility function to print linked lists
├── 0-bubble_sort.c          # Bubble Sort implementation
├── 1-insertion_sort_list.c  # Insertion Sort implementation
├── 2-selection_sort.c       # Selection Sort implementation
├── 3-quick_sort.c           # Quick Sort implementation
├── 100-shell_sort.c         # Shell Sort implementation
├── 101-cocktail_sort_list.c # Cocktail Shaker Sort implementation
├── 102-counting_sort.c      # Counting Sort implementation
├── 103-merge_sort.c         # Merge Sort implementation
├── 104-heap_sort.c          # Heap Sort implementation
├── 105-radix_sort.c         # Radix Sort implementation
├── 106-bitonic_sort.c       # Bitonic Sort implementation
└── 107-quick_sort_hoare.c   # Quick Sort (Hoare partition) implementation