python奇偶數分別排序 對奇數和偶數進行排序

2021-10-12 11:57:22 字數 727 閱讀 3486

# called with list, 0, len(list)-1

def sep(lst, first, last):

def swap(l, x, y):

l[x], l[y] = l[y], l[x]

# basecase: done searching list

if first == last or first > last:

return lst

# even left: continue ignoring the first

if lst[first] % 2 == 0:

return sep(lst, first+1, last)

# odd left: continue ignoring the last

if lst[last] % 2 == 1:

return sep(lst, first, last-1)

swap(lst, first, last)

return sep(lst, first+1, last-1)

l = [5,13,12,4,6,9]

print sep(l, 0, len(l)-1)

要呼叫遞迴,您不需要設定i和j,您需要每次遞增和遞減它們。它們是你知道遞迴是如何完成的。一旦你在列表中移動到每乙個指標都指向另乙個點,或者已經互相傳遞了,那麼你就完成了。在

完成後不想返回1,而是返回列表。您還需要確保在交換j之後使其遞減。在

奇偶數分離

描述 有乙個整型偶數n 2 n 10000 你要做的是 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出。輸入第一行有乙個整數i 2 i 30 表示有 i 組測試資料 每組有乙個整型偶數n。輸出第一行輸出所有的奇數 第二行輸出所有的偶數 樣例輸入210 14樣例輸出 1 3 5 7 9...

奇偶數分離

時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 有乙個整型偶數n 2 n 10000 你要做的是 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出。輸入第一行有乙個整數i 2 i 30 表示有 i 組測試資料 每組有乙個整型偶數n。輸出第一行輸出所有的奇數 第二...

奇偶數分離

奇偶數分離 時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 有乙個整型偶數n 2 n 10000 你要做的是 先把1到n中的所有奇數從小到大輸出,再把所有的偶數從小到大輸出。輸入 第一行有乙個整數i 2 i 30 表示有 i 組測試資料 每組有乙個整型偶數n。輸出 第一行輸出...