2013-07-02 44 views
-5

我明白如何按升序和降序对数组进行排序,但是我尝试创建一个特定模式。例如,我有一个随机顺序的数组。我将如何在模式中排序此数组? “最小,最大,第二小,第二大,第三小,第三大......”等等任何想法?Java:排序数组(第2部分)

public class Test2 { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    int[] array = {1,4,2,6,9,3,65,77,33,22}; 
    for(int i = 0; i < array.length; i++){ 
     System.out.print(" " + array[i]); 
}  
    wackySort(array); 

} 


public static void wackySort(int[] nums){ 
    int sign = 0; 
    int temp = 0; 
    int temp2 = 0; 
//This sorts the array 
    for (int i = 0; i < nums.length; i++){ 
     for (int j = 0; j < nums.length -1; j++){ 
      if (nums[j] > nums[j+1]){ 
       temp = nums[j]; 
       nums[j] = nums[j+1]; 
       nums[j+1] = temp; 

     } 
    } 

} 
// This prints out the new array 
      System.out.println(); 
      for(int i = 0; i < nums.length; i++){ 
       System.out.print(" " + nums[i]); 
      } 
      System.out.println(); 

//This part attempts to fix the array into the order I want it to 
      int firstPointer = 0; 
      int secondPointer = nums.length -1; 
      int[] newarray = new int[nums.length]; 
    for (int i = 0; i < nums.length -1; i+=2){ 
     newarray[i] = nums[firstPointer++]; 
        newarray[i] = nums[secondPointer--]; 
} 
      for(int i = 0; i < newarray.length; i++){ 
       System.out.print(" " + newarray[i]); 
} 


} 
} 
+0

你不应该在这里发表相同的问题。检查最新帖子的更新回答 – stinepike

+0

http://www.digizol.com/2008/07/java-sorting-comparator-vs-comparable.html –

+0

好的,谢谢。我如何删除这篇文章? – Binka

回答