题目
HJ101 输入整型数组和排序标识,对其元素按照升序或降序进行排序
描述
输入整型数组和排序标识,对其元素按照升序或降序进行排序
数据范围:
1
≤
�
≤
1000
1≤n≤1000 ,元素大小满足
0
≤
�
�
�
≤
100000
0≤val≤100000
输入描述:
第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数0或1。0代表升序排序,1代表降序排序
输出描述:
输出排好序的数字
示例1
输入:
8
1 2 4 9 3 55 64 25
0
复制
输出:
1 2 3 4 9 25 55 64
复制
示例2
输入:
5
1 2 3 4 5
1
复制
输出:
5 4 3 2 1
golang
package main
import (
"bufio"
"fmt"
"os"
"sort"
"strconv"
"strings"
)
func main() {
input:=make([]int,0)
length:=0
orderType:=0
scanner:=bufio.NewScanner(os.Stdin)
for scanner.Scan(){
line:= scanner.Text()
arr:=strings.Fields(line)
for _,v:=range arr{
num,_:=strconv.Atoi(v)
input = append(input, num)
}
}
length =input[0]
orderType = input[len(input)-1]
result:=input[1:len(input)-1]
sort.Ints(result)
if orderType==1{
sort.Sort(sort.Reverse(sort.IntSlice(result)))
}
for i,v:=range result{
if i==(length-1){
fmt.Printf("%d", v)
}else{
fmt.Printf("%d ", v)
}
}
}