как сортировать числа без массивов - PullRequest
0 голосов
/ 03 июля 2018

Я хочу отсортировать числа без использования массивов . У меня есть это:

 Scanner s = new Scanner(System.in);
    System.out.print("Input 3 numbers: ");
    int a = s.nextInt();
    int b = s.nextInt();
    int c = s.nextInt();

    System.out.print("Increscent: ");

    if (a >= b) { 
        int temp; 

        temp = a;
        a = b;
        b = temp;
    }

    if (c < a) 
    {
        System.out.println(c + " " + a + " " + b);
    } else if (c > b) 
    {
        System.out.println(a + " " + b + " " + c);
    } else 
    {
        System.out.println(a + " " + c + " " + b);
    }

Но что мне делать, если я хочу использовать больше чисел? Есть какой-то лучший код, или я должен использовать этот способ все время?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Ну, вы можете сделать что-то похожее на это: Сортировать 4 числа без массива

Позвольте мне помочь вам:

int tmp;

if (a > b) { tmp = a; a = b; b = tmp; }
if (a > c) { tmp = a; a = c; c = tmp; }
if (b > c) { tmp = b; b = c; c = tmp; }

System.out.println(a + " " + b + " " + c);
0 голосов
/ 03 июля 2018

Назначение массивов состоит в том, чтобы вы могли иметь несколько похожих данных. Как целое число. Оглядываясь назад, вы можете разместить сотни переменных или сделать это в одной строке.

что ты думаешь лучше?

int a;
int b;
int c;
int d;

или

int a[];

Существуют методы для множества аргументов, например varargs для функций. Но в конечном итоге они все равно работают как массивы.

С точки зрения алгоритмов сортировки, существуют сотни различных агрегирований сортировки и около нескольких супер распространенных.

переменной длины Пример использования varargs в C

алгоритмы сортировки https://en.wikipedia.org/wiki/Sorting_algorithm

edit: Только что понял, что это Java, но применима та же теория Параметры Java-функции variadic

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...