From 16110cd0796cd5251d21b0de2ab43bf4934285fa Mon Sep 17 00:00:00 2001 From: Krishna Vedala <7001608+kvedala@users.noreply.github.com> Date: Sun, 5 Jul 2020 09:57:54 -0400 Subject: [PATCH] Revert "Merge pull request #513 from tania-cmyk/master" This reverts commit 5eebdedefcc4a9117d2178dbbc16b5ffbb59c493, reversing changes made to 53e92ebc05e5740d616ec20c1ec60517902c59e1. --- sorting/gnome_sort.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/sorting/gnome_sort.c b/sorting/gnome_sort.c index 973d2ff8e..ef0777eb5 100644 --- a/sorting/gnome_sort.c +++ b/sorting/gnome_sort.c @@ -6,16 +6,17 @@ void sort(int *numbers, int size) int pos = 0; while (pos < size) { - if (pos == 0) - pos = 1; - if (numbers[pos] >= numbers[pos - 1] || pos == 0) + if (numbers[pos] >= numbers[pos-1]) pos++; - else + else { - int tmp = numbers[pos - 1]; - numbers[pos - 1] = numbers[pos]; + int tmp = numbers[pos-1]; + numbers[pos-1] = numbers[pos]; numbers[pos] = tmp; pos--; + + if (pos == 0) + pos = 1; } } } @@ -23,7 +24,8 @@ void sort(int *numbers, int size) void display(int *array, int n) { int i; - for (i = 0; i < n; ++i) printf("%d ", array[i]); + for (i = 0; i < n; ++i) + printf("%d ", array[i]); printf("\n"); } @@ -31,9 +33,10 @@ int main() { int size = 6; int i; - int *numbers = malloc(size * sizeof(int)); + int *numbers = malloc(size*sizeof(int)); printf("Insert %d unsorted numbers: \n", size); - for (i = 0; i < size; ++i) scanf("%d", &numbers[i]); + for (i = 0; i < size; ++i) + scanf("%d", &numbers[i]); printf("Initial array: "); display(numbers, size); sort(numbers, size); @@ -42,3 +45,4 @@ int main() free(numbers); return 0; } +