Выбор сортировки в C - PullRequest
       12

Выбор сортировки в C

0 голосов
/ 23 февраля 2019

Написан ли следующий код C в соответствии с алгоритмом сортировки выбора?Я немного смущен этим.Тем не менее, это дает правильные результаты.

#include <stdio.h>

int main() {
    int n;
    printf("Enter size of array: ");
    scanf("%d", &n);
    int a[n], i = 0, j, min;
    while (i < n) {
        printf("Enter no. %d:", i + 1);
        scanf("%d", &a[i]);
        i++;
    }
    for (i = 0; i < n; i++) {
        for (j = i, min = a[i]; j < n; j++) {
            if (a[j] < min)
                min = a[j];
            else
                continue;
            a[j] = a[i];
            a[i] = min;   
        }
    }
    for (i = 0; i < n; i++)
        printf("%d ", a[i]);
    return 0;
}

1 Ответ

0 голосов
/ 23 февраля 2019

Выбор сортировки

#include<stdio.h>
int main() {
  int array[100], n, c, d, position, swap;

  printf("Enter number of elements\n");
  scanf("%d", &n);

  printf("Enter %d integers\n", n);

  for (c = 0; c < n; c++)
    scanf("%d", &array[c]);

  for (c = 0; c < (n - 1); c++)
  {
    position = c;

    for (d = c + 1; d < n; d++)
    {
      if (array[position] > array[d])
        position = d;
    }
    if (position != c)
    {
      swap = array[c];
      array[c] = array[position];
      array[position] = swap;
    }
  }

  printf("Sorted list in ascending order:\n");

  for (c = 0; c < n; c++)
    printf("%d\n", array[c]);

  return 0;
}
...