From 8065f44d09a9dd570bbcc94b9806ee558456aa62 Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Thu, 17 Feb 2022 12:26:41 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=81?= =?UTF-8?q?=D0=BE=D1=80=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D1=83=20=D0=BF?= =?UTF-8?q?=D1=80=D1=8F=D0=BC=D1=8B=D0=BC=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- straight-selection.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 straight-selection.c diff --git a/straight-selection.c b/straight-selection.c new file mode 100644 index 0000000..f05d098 --- /dev/null +++ b/straight-selection.c @@ -0,0 +1,44 @@ +#include + +void +straight_selection(int *array, size_t size) +{ + for (int i = 0; i < size; ++i) + { + int k = i; + int x = array[i]; + for (int j = i; j < size; ++j) + { + if (array[j] < x) + { + k = j; + x = array[j]; + } + } + array[k] = array[i]; + array[i] = x; + } +} + +void +print_array(int *array, size_t size) +{ + if (size == 0) printf("array = { }\n"); + + printf("array = { "); + for (int i = 0; i < size - 1; ++i) + printf("%i, ", array[i]); + printf("%i };\n", array[size - 1]); +} + +int +main() +{ + int array[] = { 2, 7, 12, 30, 11, 4, 12, 5, 20 }; + size_t size = sizeof(array) / sizeof(*array); + print_array(array, size); + straight_selection(array, size); + print_array(array, size); + + return 0; +} -- cgit v1.2.3