From 358a4ef7feab0215f8c9c04efa5e400731b0cf1a Mon Sep 17 00:00:00 2001 From: Shreya Shankar <65847819+shreya-jpg@users.noreply.github.com> Date: Sun, 24 Oct 2021 11:58:33 +0530 Subject: [PATCH] Create ShellSort.c --- ShellSort.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ShellSort.c diff --git a/ShellSort.c b/ShellSort.c new file mode 100644 index 0000000..8721c0e --- /dev/null +++ b/ShellSort.c @@ -0,0 +1,40 @@ +#include +void shellsort(int arr[], int num) +{ + int i, j, k, tmp; + for (i = num / 2; i > 0; i = i / 2) + { + for (j = i; j < num; j++) + { + for(k = j - i; k >= 0; k = k - i) + { + if (arr[k+i] >= arr[k]) + break; + else + { + tmp = arr[k]; + arr[k] = arr[k+i]; + arr[k+i] = tmp; + } + } + } + } +} +int main() +{ + int arr[30]; + int k, num; + printf("Enter total no. of elements : "); + scanf("%d", &num); + printf("\nEnter %d numbers: ", num); + + for (k = 0 ; k < num; k++) + { + scanf("%d", &arr[k]); + } + shellsort(arr, num); + printf("\n Sorted array is: "); + for (k = 0; k < num; k++) + printf("%d ", arr[k]); + return 0; +}