首页 > 试题广场 >

输入整型数组和排序标识,对其元素按照升序或降序进行排序

[编程题]输入整型数组和排序标识,对其元素按照升序或降序进行排序
  • 热度指数:213198 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入整型数组和排序标识,对其元素按照升序或降序进行排序

数据范围: ,元素大小满足

输入描述:

第一行输入数组元素个数
第二行输入待排序的数组,每个数用空格隔开
第三行输入一个整数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
while True:
    try:
        n=int(input())#读取没用的玩意儿
        val=input().split()#以空格区分数组
        updown= input()#读取升序降序
        val = list(map(int, val))#转换元素为int
        if updown == '0':#为降序时
            val.sort()
        elif updown == '1':#为升序时
            val.sort(reverse= True)
        val = list(map(str, val))#重组空格隔开
        val=' '.join(val)
        print(val)
    except:
        break

发表于 2021-07-01 12:00:46 回复(0)
while True:
    try:
        a = int(input())
        list_arr = []
        list_arr = list(map(int, input().split()))
        b = int(input())
        if b==0:
            list_arr.sort(reverse=False)
            print(list_arr)
        elif b==1:
            list_arr.sort(reverse=True)
            print(list_arr)
    except:
        break
        


编辑于 2021-04-24 21:19:42 回复(1)
while True:  try:
        m=input()
        n=list(map(int,input().split()))
        type=int(input())  if type==0:
           x=sorted(n)  if type==1:
            x=sorted(n,reverse=True) #这是降序    print(*x)  except:  break

发表于 2021-04-14 11:25:28 回复(0)
while True:
    try:
        num = int(input())
        array = list(map(int, input().split()))
        order = int(input())
        sorted_array = sorted(array, reverse=order)
        output = ''
        for x in sorted_array:
            output = ' '.join([output, str(x)])
        print(output[1:])
    except EOFError:
        break

发表于 2021-03-24 21:30:08 回复(0)
def quick_sort(nums, left, right):
    if left >= right:
        return
    mid = (left+right) // 2
    nums[right], nums[mid] = nums[mid], nums[right]
    devide_index, devide = left, nums[right]
    for i in range(left, right):
        if nums[i] < devide:
            nums[devide_index], nums[i] = nums[i], nums[devide_index]
            devide_index += 1
    nums[right], nums[devide_index] = nums[devide_index], nums[right]
    
    quick_sort(nums, left, devide_index-1)
    quick_sort(nums, devide_index+1, right)


while True:
    try:
        n, nums, reverse = int(input()), list(map(int, input().split())), int(input())
        quick_sort(nums, 0, n-1)
        if reverse:
            nums = nums[::-1]
        print(" ".join(map(str, nums)))
    except:
        break

发表于 2020-12-19 17:02:36 回复(0)
# 方法一:
while True:
    try:
        count, arr = input(), map(int, input().strip().split(' '))
        flag = input().strip()
        if flag == '0':
            arr = sorted(arr)
            # print(arr)
        if flag == '1':
            arr = sorted(arr, reverse=True)
            # print(arr)
        print(' '.join(map(str, arr)))

    except:
        break

# 方法二:(reverse=True可以直接写成reverse=1)
while True:
    try:
        count, arr = input(), map(int, input().strip().split(' '))
        flag = int(input().strip())
        arr = sorted(arr, reverse=flag)
        print(' '.join(map(str, arr)))
    except:
        break

编辑于 2020-12-03 22:08:26 回复(0)
while 1:
    try:
        num,l,flag=input(),list(map(int, input().split())),int(input())
        print(' '.join(map(str,sorted(l,reverse=flag))))
    except:
        break
发表于 2020-11-20 19:56:42 回复(0)
while True:
    try:
        Num = int(input())
        list1 = list(map(int,input().strip().split()))
        rule = int(input())
        if rule == 0:
            list1 = sorted(list1,reverse = False)
        else:
            list1 = sorted(list1,reverse = True)
        print(' '.join(map(str,list1)))
    except:
        break

发表于 2020-09-22 20:52:50 回复(0)
Python的很简单
while True:
    try:
        size = int(input())
        nums = input().split()
        flag = int(input())
        nums = list(map(int, nums))
        if flag == 0:
            nums.sort()
        else:
            nums.sort(reverse = True)
        print(' '.join(list(map(str, nums))))
    except:
        break


发表于 2020-09-11 08:54:20 回复(0)
while True:
    try:
        def quick_sort(arr, left, right):
            """快速排序"""
            if left >= right:
                return arr
            key = arr[left]
            low = left
            high = right
            while left < right:
                while left < right and arr[right] >= key:
                    right -= 1
                arr[left] = arr[right]
                while left < right and arr[left] <= key:
                    left += 1
                arr[right] = arr[left]
            arr[right] = key
            quick_sort(arr, low, left - 1)
            quick_sort(arr, left + 1, high)
            return arr


        total_num = int(input())
        input_list = list(map(int, input().strip().split()))
        descending = int(input())

        if len(input_list) == 1:
            print(input_list[0])
        if descending == 0:
            print(" ".join(list(map(str, quick_sort(input_list, 0, len(input_list) - 1)))))
        else:
            print(" ".join(list(map(str, quick_sort(input_list, 0, len(input_list) - 1)[::-1]))))

    except:
        break

快速排序实现基本功能,通过列表索引实现逆序

发表于 2020-08-02 16:25:13 回复(0)
def sort_list(n, flag):
    res = map(str, sorted(n, reverse=flag))
    print(' '.join(res))



while True:
    try:
        c = int(input())
        n = map(int, input().split())
        flag = int(input())
        sort_list(n, flag)
    except:
        break


发表于 2020-07-23 18:07:24 回复(0)
while True:
    try:
        n = int(input())
        b = list(map(int,input().split()))
        m = input()
        if m == '1':
            b = sorted(b, reverse = True)
        if m == '0':
            b = sorted(b, reverse = False)
        res = ''
        for i in b:
            res +=''.join(str(i))
            res += ''.join(' ')
        print(res)
    except:
        break

发表于 2020-07-17 16:41:43 回复(0)
while True:
    try:
        n = int(input())
        num = list(map(int,input().split()))
        flag = int(input())
        if flag == 0:
            num.sort()
        elif flag == 1:
            num.sort(reverse=True)

        print(' '.join(map(str,num)))
    except:
        break
注意:对于join函数拼接列表里的数据的时候,列表数据一定要是字符串类型,用map()函数将每一个数据字符串化
发表于 2020-03-31 09:46:36 回复(0)
while True:
    try:
        fn = []
        f = ""
        n = int(input())
        lst = input().split()
        d = int(input())
        for i in lst:
            fn.append(int(i))
        if d == 0:
            final = sorted(fn)
            for i in final:
                f += " " + str(i)
            print (f[1:])
        elif d == 1:
            final = sorted(fn, reverse = True)
            for i in final:
                f += " " + str(i)
            print (f[1:])
    except:
        break

发表于 2020-03-24 08:38:04 回复(0)
while True:
    try:
        l=[]
        n=int(input())
        str1=input().split()
        b=int(input())
        for i in str1:
            l.append(int(i))
        if b==0:
            l.sort()
        else:
            l.sort()
            l.reverse()
        num_list_new = [str(x) for x in l]
        print(" ".join(num_list_new))
    except:
        break

发表于 2020-02-27 14:33:30 回复(0)
while True:
  try:
    a,b,c = input(),map(int,input().split()),input()
    d = list(b)
    if c == "0":
      d.sort()
    elif c == "1":
      d.sort(reverse = True)
    print(" ".join(map(str,d)))
  except:
    break

发表于 2020-02-17 18:44:45 回复(0)
遇到这样一组用例,Bc1:57 c2:01这是什么鬼
发表于 2019-10-14 14:26:34 回复(0)
while True:
    try:
        num_data=int(input())#----个数
        data=input().strip().split()#----输入的单行数据时
        sort_flag=int(input())#----------排序方式
        for i in range(num_data):#-------冒泡排序时间长
            for j in range(1,num_data-i):
                if int(data[j-1])>int(data[j]):
                    data[j-1],data[j]=data[j],data[j-1]

        #print(' '.join(data))
        if sort_flag==0:
            print(' '.join(data))#------升序
        else:
            print(' '.join(data[::-1]))#---降序

    except:
        break

发表于 2019-09-14 22:16:00 回复(0)

问题信息

难度:
27条回答 38570浏览

热门推荐

通过挑战的用户

查看代码