Анализ алгоритма
Отсортируем строки при помощи функции 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))