{ }codelper
リストの並べ替えP0036

数を並べ替える

一行目に整数の個数 n、二行目に n 個の整数が与えられる。
小さい数から順に並べ、空白一つで区切って一行に出力せよ。
同じ数は出た回数だけすべて出力する。

入力
1 ≤ n ≤ 1000、-2,000,000,000 ≤ 各整数 ≤ 2,000,000,000
出力
並べ替えた n 個の数を一行で
例 1 · stdin
4
10 9 2 -5
stdout
-5 2 9 10
main.py
入力(stdin)

実行すると、これらの行が順に input()・標準入力に渡されます(実行中に入力を求めません)。

$ 準備完了

コードを入力して解くにはパソコンで開いてください。モバイルでは問題と解答を見られます。

ほかの言語では?言語別の解答を見る · 8 言語の解答

JS・TS の a.sort() は比較関数がないと数を文字列にして辞書順に並べるので、[10, 9, 2] が 10 2 9 になります。
必ず a.sort((x, y) => x - y) と書きます(JS の数は浮動小数点なのでここでは引き算で安全)。
逆に C の qsort の比較関数で a - b を返すと 20 億 - (-20 億) が int をあふれて順番が逆になるので、(a > b) - (a < b) と書きます。
ほかは標準で数の大きさ順です:Python sorted(a)、Java Arrays.sort(a)、C# Array.Sort(a)、C++ std::sort、Craykon a.並べ替え()。

Pythonmain.py · 3 行
n = int(input())a = sorted(map(int, input().split()))print(*a)
JavaScriptmain.js · 3 行
const [n, ...a] = require("fs").readFileSync(0, "utf8").trim().split(/\s+/).map(Number);a.sort((x, y) => x - y);console.log(a.join(" "));
TypeScriptmain.ts · 4 行
import { readFileSync } from "node:fs";const [n, ...a]: number[] = readFileSync(0, "utf8").trim().split(/\s+/).map(Number);a.sort((x, y) => x - y);console.log(a.join(" "));
JavaMain.java · 16 行
import java.util.Arrays;import java.util.Scanner;import java.util.StringJoiner; public class Main {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int n = sc.nextInt();        int[] a = new int[n];        for (int i = 0; i < n; i++) a[i] = sc.nextInt();        Arrays.sort(a);        StringJoiner out = new StringJoiner(" ");        for (int x : a) out.add(String.valueOf(x));        System.out.println(out);    }}
C#Main.cs · 13 行
using System;using System.Linq; class Program{    static void Main()    {        Console.ReadLine();        int[] a = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();        Array.Sort(a);        Console.WriteLine(string.Join(" ", a));    }}
C++main.cpp · 13 行
#include <algorithm>#include <iostream>#include <vector> int main() {    int n;    std::cin >> n;    std::vector<int> a(n);    for (int& x : a) std::cin >> x;    std::sort(a.begin(), a.end());    for (int i = 0; i < n; i++) std::cout << (i ? " " : "") << a[i];    std::cout << "\n";}
Cmain.c · 17 行
#include <stdio.h>#include <stdlib.h> static int ascending(const void *pa, const void *pb) {    int a = *(const int *)pa, b = *(const int *)pb;    return (a > b) - (a < b);} int main(void) {    int n, a[1000];    scanf("%d", &n);    for (int i = 0; i < n; i++) scanf("%d", &a[i]);    qsort(a, n, sizeof a[0], ascending);    for (int i = 0; i < n; i++) printf(i ? " %d" : "%d", a[i]);    putchar('\n');    return 0;}
Craykonmain.cray · 4 行
n = コンソール.行読み().数に();a = コンソール.数読み();a.並べ替え();コンソール.書く(a);