2013-04-14 91 views
0

如何對int []數組進行排序,我必須使用這個還是可以只使用java中的內置方法?Sorting Arrays for int and string

for (int x = 0; x < days.length - 1; w++) { 
      for (short i = 0; i < days.length - 1; i++) { 
       if (days[i].(days[i + 1]) > 0) { 
        days = days[i]; 

        days[i] = days[i + 1]; 
        days[i + 1] = days; 


       } 
      } 
     } 
+0

你一定要自己寫的那種?還有什麼其他限制?你可以使用'String.compareTo'嗎? –

+0

如果我的理解是正確的,你的問題是你不能排序字符串數組。是嗎? – prashant

+0

是的我想排序字符串數組@prashant – user2278109

回答

0

我寫了一個片段來排序一個簡單的字符串數組。轉載如下:

int length = winners.length; 
     for(int i=0; i<length-1; i++){ 
      for(int j=0; j<length-i-1; j++){ 
       if(winners[j].compareTo(winners[j+1]) > 0){ 
        //Swap the elements 
        String temp = winners[j]; 
        winners[j] = winners[j+1]; 
        winners[j+1] = temp; 
       } 
      } 
     } 

     for(String winner: winners){ 
      System.out.println(winner); 
     } 

這是正常工作。 如果你想忽略大小寫,你可以使用compareToIgnoreCase方法。

+0

我將如何排序一個簡短的[]數組。它具有年份值,我希望它按升序排序。 @prashant – user2278109

+0

我這樣做^並且它不會通過,它說不能在原始類型short上調用compareTo(short)。 – user2278109

0

到數組進行排序的最簡單方法是Arrays.sort

String[] array = {"c", "a", "b"}; 
    Arrays.sort(array); 
    System.out.println(Arrays.toString(array)); 
    output -> [a, b, c] 

    String[] array = {"2", "1", "3"}; 
    Arrays.sort(array); 
    System.out.println(Arrays.toString(array)); 
    output -> [1, 2, 3] 

同樣的過程將用於ints陣列(或原語)工作太