+++ /dev/null
-#include <stdio.h>
-#include <stdbool.h>
-
-//FIXME: Comment the code !!!
-
-void promptValue(int* addr) {
- scanf("%d", addr);
-}
-
-// The efficience of this swap alternative is debatable ..
-void xorSwap (int *v1, int *v2) {
- if (v1 != v2) {
- *v1 ^= *v2;
- *v2 ^= *v1;
- *v1 ^= *v2;
- }
-}
-
-void swap(int* v1, int* v2) {
- if (v1 != v2) {
- int tmp = *v1;
- *v1 = *v2;
- *v2 = tmp;
- }
-}
-
-void displayArray(int* array, int count) {
- for (int i = 0; i < count; i++) {
- printf("Value in array at index[%d]= %d\n", i, array[i]);
- }
-}
-
-bool sortFirst(int* array, int length) {
- bool rt = false;
- // This loop could probably be replaced by a while loop with conditions
- // on the array values permutation AND the iteration value, later ...
- for (int i = 0; i < length-1; i++) {
- if (array[i] > array[i+1]) {
- swap(&array[i], &array[i+1]);
- //xorSwap(&array[i], &array[i+1]);
- if (!rt) { rt = true; };
- }
- }
- return rt;
-}
-
-void sortArray(int* array, int length) {
- bool rt;
- do {
- rt = sortFirst(array, length);
- } while (rt);
-
-}
-
-int main() {
- int tab_length = 10;
- // GCC do not like variable sized array, even with the size variable properly initialized
- int tab[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
-
- for (int i = 0; i < tab_length; i++) {
- printf("Enter integer value at array's index[%d]? ", i);
- promptValue(&tab[i]);
- }
-
- printf("\nView array content unsorted:\n");
- displayArray(tab, tab_length);
- sortArray(tab, tab_length);
- printf("\nNow, sorting the array...\n");
- printf("\nView array content sorted:\n");
- displayArray(tab, tab_length);
-
- return 0;
-}