How to sort an array of repeated integers with C

2 Answers

0 votes
#include <stdio.h>

// Function to perform Bubble Sort
void bubbleSort(int arr[], int size) {
    int i, j, temp;
    for (i = 0; i < size - 1; i++) {
        for (j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                // Swap elements
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int arr[] = {4, 2, 2, 0, 8, 3, 3, 5, 2, 0, 1};
    int size = sizeof(arr) / sizeof(arr[0]);
    int i;

    // Call the sort function
    bubbleSort(arr, size);

    // Print the sorted array
    for (i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}



/*
run:

0 0 1 2 2 2 3 3 4 5 8 

*/

 



answered Jul 5, 2025 by avibootz
0 votes
#include <stdio.h>
#include <stdlib.h>

// Comparison function for qsort
int compare(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int main() {
    int arr[] = {4, 2, 2, 0, 8, 3, 3, 5, 2, 0, 1};
    int size = sizeof(arr) / sizeof(arr[0]);
    int i;

    // Use qsort to sort the array
    qsort(arr, size, sizeof(int), compare);

    // Print the sorted array
    for (i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}



/*
run:

0 0 1 2 2 2 3 3 4 5 8 

*/

 



answered Jul 5, 2025 by avibootz
...