本篇文章是一篇關於陣列排列的帖子
每日一道理
漫漫人生路,誰都難免會遭遇各種失意或厄運。在淒風苦雨 慘霧愁雲的考驗面前,乙個強者,是不會向命運低頭的。風再冷,不會永遠不息;霧再濃,不會經久不散。風息霧散,仍是陽光燦爛。
# coding: gb2312
#將陣列裡的正數排在陣列的後面,正數排在陣列的後面。但不改變原先正數和正數的排列次序。
#例:input: -5,2,-3, 4,-8,-9, 1, 3,-10;output: -5, -3, -8, -9, -10, 2, 4, 1, 3。
a = [-5,2,-3, 4,-8,-9,1, 3,-10];
print a
length = len(a)
i = length - 1
while a[i] >= 0: i = i - 1
j = i
while j >= 0:
if a[j] >= 0:
t = a[j]
k = j + 1
while k < length and a[k] < 0:
a[k - 1] = a[k]
k += 1
a[k - 1] = t
i = j
j -= 1
print 'result:'
print a
--------------------------------- 原創文章 by
陣列和排列
---------------------------------
重新排列包含正數和負數的陣列
給定乙個包含正數和負數的整數陣列,重新排列它,使得所有的負數排在前面,所有的正數排在後面。正數間和負數間的相對順序保持不變。期望時間複雜度是o n 空間複雜度是o 1 例如 給定 1,2,2,3,5,4 重新排列後變成 1,2,4,2,3,5 分析 1.最簡單的演算法是o n 2 遇到每個負數都把它...
陣列排序(正數在左,負數在右)
import j a.util.arrays 1,2,3,2,4,5,3,2,4,1,5,3 陣列排序 輸出結果 1,2,3,5,3,4,1,2,4,2,5 要求 1.正數在左,負數在右,2.相對順序不變,3.空間複雜度o 1 public class arraysort arr arr.lengt...
將陣列中負數放在正數前面
既然題目要求的是把負數放在陣列的前半部分,正數放在陣列的後半部分,因此所有的負數應該位於正數的前面。也就是說我們在掃瞄這個陣列的時候,如果發現有正數出現在負數的前面,我們可以交換他們的順序,交換之後就符合要求了。因此我們可以維護兩個指標,第乙個指標初始化為陣列的第乙個數字,它只向後移動 第二個指標初...