Упорядочить массив (сортировка выбором) - C (СИ)
Формулировка задачи:
Упорядочить массив, используя алгоритм сортировки выбором: отыскивается максимальный элемент и переносится в конец массива; затем этот метод применяется ко всем элементам , кроме последнего (он уже находится на своем окончательном месте), и т.д.
Помогите пожалуйста в системе Си
Решение задачи: «Упорядочить массив (сортировка выбором)»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<time.h> #define SIZE 20 void InitMas(int *a, int n) { int i; srand((unsigned)time(NULL)); for (i = 0; i < n; i++) a[i] = rand(); } void SelectionMethod_by_min(int *a, int n) { int i, j = 0, k = 0; int tmp; do { for (i = j; i < n; i++) if (a[i] < a[k]) { k = i; } tmp = a[j]; a[j] = a[k]; a[k] = tmp; j++; k = j; } while (j<n); } void SelectionMethod_by_max(int *a, int n) { int i, j = n-1, k = 0; int tmp; do { for (i = 0; i <=j; i++) if (a[i] > a[k]) k = i; tmp = a[j]; a[j] = a[k]; a[k] = tmp; j--; k = j; } while (j >= 0); } void main() { int a[SIZE]; int i; InitMas(a, SIZE); for (i = 0; i < SIZE; i++) printf("%2d %5d\t", i, a[i]); printf("\n"); SelectionMethod_by_max(a, SIZE); for (i = 0; i < SIZE; i++) printf("%2d %5d\t", i, a[i]); printf("\n"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д