2009-12-02 26 views
1

我需要一個算法用於查找N元素隨機排序的整數 數組要麼已經排序或者沒有排序。檢查數組的排序性

+0

如果你需要比二進制更是/否的回答,請參閱: 的http://計算器。 COM /問題/ 2104166 /算法換等級-的單調性-的-一個陣列-IE-判斷最有序性 – dgorissen 2012-10-22 14:36:04

回答

7

只需遍歷數組,直到找到一個小於前一個的元素。在C/Java'ish僞代碼:

int prev = array[0]; 
boolean sorted = true; 
for (int i=1; i<array.length; i++) { 
    if (array[i] < prev) { 
    sorted = false; 
    break; 
    } 
    prev = array[i]; 
} 
4

測試如果按升序排序:

for item i in items 
    if i > nextitem 
     return false 

return true