Аналіз алгоритму
Відсортуємо рядки за допомогою функції sort
з STL. Скористаємося компаратором less<int>()
для сортування за зростанням та компаратором greater<int>()
для сортування за спаданням.
Реалізація алгоритму
Оголосимо робочий символьний масив.
#define MAX 101 char s[MAX];
Читаємо рядок.
gets(s);
Сортуємо літери за зростанням. Виводимо отриманий рядок.
sort(s,s+strlen(s),less<int>()); puts(s);
Сортуємо літери за спаданням. Виводимо отриманий рядок.
sort(s,s+strlen(s),greater<int>()); puts(s);
Реалізація алгоритму – string
#include <iostream> #include <string> #include <algorithm> using namespace std; string s; int main(void) { cin >> s; sort(s.begin(),s.end(),less<int>()); cout << s << "\n"; sort(s.begin(),s.end(),greater<int>()); cout << s << "\n"; return 0; }
Реалізація алгоритму – C, swap sort
#include <stdio.h> #include <string.h> char s[101], temp; int i, j, n; int main(void) { gets(s); n = strlen(s); for (i = 0; i < n; i++) for (j = i + 1; j < n; j++) if (s[i] > s[j]) { temp = s[i]; s[i] = s[j]; s[j] = temp; } puts(s); for (i = 0; i < n; i++) for (j = i + 1; j < n; j++) if (s[i] < s[j]) { temp = s[i]; s[i] = s[j]; s[j] = temp; } puts(s); return 0; }
Java реалізація
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); String s[] = con.nextLine().split(""); // s = {"q", "w", "e", "r", "t", "y"} Arrays.sort(s); System.out.println(String.join("", s)); Arrays.sort(s,Collections.reverseOrder()); System.out.println(String.join("", s)); con.close(); } }
Python реалізація
s = input() print(''.join(sorted(s))) print(''.join(sorted(s, reverse = True)))
Python реалізація – сортування
l = list(input()) l.sort() print(''.join(l)) l.sort(reverse = True) print(''.join(l))