如何在不使用内置方法的情况下在Python中对数字进行排序

时间:2016-11-15 19:23:50

标签: sorting numbers

我试图在python中对3个数字进行排序,而不使用内置的排序方法,例如'sorted'或.sort。

说我有数字......

2,500,25,15,12

我想输出 2,12,15,25,500

我想模仿如何对python中内置的函数进行排序,但无法找到它的源代码。

对于我做过的3个数字:

msg = "Give me a number: "
pfix = " is the greatest"


a = int(input(msg))
b = int(input(msg))
c = int(input(msg))
nums = []

if a>b and a>c:
    nums.append(a)
elif b>a and b>c:
    nums.append(b)
else:
    nums.append(c)


if a>b and b>c:
    nums.append(b)
elif a>b and b>c:
    nums.append(b)
elif a>c and c>b:
    nums.append(c)
elif b>a and a>c:
    nums.append(a)
elif b>c and c>a:
    nums.append(c)
elif c>a and a>b:
    nums.append(a)
elif c>b and b>a:
    nums.append(b)

if a<b and a<c:
    nums.append(a)
elif b<a and b<c:
    nums.append(b)
elif c<b and c<a:
    nums.append(c)

print(nums)

我知道这是一个糟糕的方式,因为它只适用于3个数字。我需要一些使用for循环

的无限数字列表

...一样

def num_sort(_list):
    for i in range(0, len(_list)):
    ...

并像这样使用

print(num_sort([2, 500, 25, 15, 12]))

我将如何获得特定的排序? 例如升序或降序......

我知道这就像重新发明轮子但我被告知我需要自己制作方法。

你会做什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

quickSort Algo - http://www.algolist.net/Algorithms/Sorting/Quicksort

Error:(36, -1) Play 2 Compiler: 
    found   : Array[scala.concurrent.Future[Option[models.Document]]]
    required: M[scala.concurrent.Future[A]]