给定一个非空数组(列表)
起元素数据类型为整型
请按照数组元素十进制最低位从小到大进行排序
十进制最低位相同的元素,相对位置保持不变
当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位
输入描述
给定一个非空数组(列表)
其元素数据类型为32位有符号整数
数组长度为[1,1000]
输出排序后的数组
输入
1,2,5,-21,22,11,55,-101,42,8,7,32
输出
1,-21,11,-101,2,22,42,32,5,55,7,8
<?php
$arr=explode(',',trim(fgets(STDIN)));
solution($arr);
function solution($arr)
{
//冒泡排序
for ($i = 0; $i < count($arr); $i++) {
for ($j = $i + 1; $j < count($arr) - $i; $j++) {
if (qf($arr[$j]) < qf($arr[$j - 1])) {
$temp = $arr[$j];
$arr[$j] = $arr[$j - 1];
$arr[$j - 1] = $temp;
}
}
}
echo implode(',', $arr);
}
function qf($n)
{
$n = $n > 0 ? $n : -$n;
return $n % 10;
}