Для сортування цілих чисел у порядку неспадання достатньо скористатися будь-яким алгоритмом сортування.
Наприклад, можна скористатися функцією sort з бібліотеки шаблонів STL. Для вказівки напрямку сортування можна скористатися компараторами:
less<int>() — для сортування за зростанням;
greater<int>() — для сортування за спаданням;
Ці компаратори визначені у бібліотеці <set>.
Реалізація алгоритму
Оголосимо робочий масив.
#define MAX 1010
int m[MAX];Читаємо вхідні дані.
scanf("%d",&n);
for (i = 0; i < n; i++)
scanf("%d",&m[i]);Сортуємо масив за неспаданням.
sort(m, m + n, greater<int>());Виводимо результуючий масив.
for (i = 0; i < n; i++)
printf("%d ",m[i]);
printf("\n");Реалізація алгоритму — вектор
Оголосимо вектор для зберігання вхідної послідовності чисел.
vector<int> v;Читаємо вхідні дані.
scanf("%d",&n);
v.resize(n);
for (i = 0; i < n; i++)
scanf("%d",&v[i]);Сортуємо масив за неспаданням.
sort(v.begin(),v.end(),greater<int>());Виводимо результуючий масив.
for (i = 0; i < v.size(); i++)
printf("%d ",v[i]);
printf("\n");Реалізація алгоритму — компаратор
Оголосимо робочий масив.
#define MAX 1001
int m[MAX];Оголосимо функцію — компаратор f для сортування цілих чисел за спаданням.
int f(int a, int b)
{
return a > b;
}Основна частина програми. Читаємо вхідні дані.
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &m[i]);Сортуємо масив за спаданням з використанням компаратора.
sort(m, m + n, f);Виводимо результуючий масив.
for (i = 0; i < n; i++)
printf("%d ", m[i]);
printf("\n");Java реалізація — comparator
import java.util.*;
public class Main
{
public static class MyFun implements Comparator<Integer>
{
public int compare(Integer a, Integer b)
{
return b - a;
}
}
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
Integer m[] = new Integer[n];
for(int i = 0; i < n; i++)
m[i] = con.nextInt();
Arrays.sort(m, new MyFun());
for(int i = 0; i < n; i++)
System.out.print(m[i] + " ");
System.out.println();
con.close();
}
}Java реалізація — reverse order
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
Integer m[] = new Integer[n];
for(int i = 0; i < n; i++)
m[i] = con.nextInt();
Arrays.sort(m,Collections.reverseOrder());
for(int i = 0; i < n; i++)
System.out.print(m[i] + " ");
System.out.println();
con.close();
}
}Python реалізація
Читаємо вхідні дані.
n = int(input())
lst = list(map(int,input().split()))Сортуємо список за неспаданням.
lst.sort(reverse = True)Виводимо числа в порядку неспадання.
print(*lst)