#!/usr/bin/perl -w
# 把鍵盤輸入的內容以列為單位做排序. 用選擇排序法 (selection sort).
# http://www.cyut.edu.tw/~ckhung/b/pl/

use strict;
my (@data, $n, $i, $j, $min, $tmp, $item);

$n = 0;
while (<STDIN>) {
    $data[$n] = $_;
    ++$n;
}

for ($i = 0; $i < $n; ++$i) {	# 迴圈每做一次, 就把第 $i 小的元素選出來
    $min = $i;		# 先前已排好的不算, 目前所知的最小元素是第 $min 個
    for ($j = $i + 1; $j < $n; ++$j) {	# 後面的元素當中, 那個最小呢?
	$min = $j if ($data[$j] lt $data[$min])
    }
    if ($min != $i) {
				# 那麼就要把最小的元素給調過來了
	$tmp = $data[$i];
	$data[$i] = $data[$min];
	$data[$min] = $tmp;
    }
}

foreach $item (@data) {
    print "$item";
}

# 以下僅供參考
# 這個程式其實可以寫成一句話:
# print sort <>;
# 或者乾脆直接在 shell 下用 sort 命令 (遇到空列時效果略有出入)
