2016-11-03 26 views
0

这是我一直在尝试使用的循环之一。该程序接受未分类号码的输入文件并将其放入数组中。我试图写这个方法,所以它会按升序排序。如何在Java中编写和InsertInOrder方法?

insertInOrder(int[] arr, int count, int key ) 
if (count==0) 
    { 
     arr[0] = key; 
     return; 
    } 


    int i=count-1; 
    while(i>=0 && key<arr[i]) 
    { 
     arr[i]=arr[i+1]; 
     i=i-1; 
    } 
    arr[i+1]=key; 

我还试图用一个for循环,但似乎并没有被工作要么

if(count==0) 
     arr[0]=key; 
    int i; 
    for(i=arr[arr.length-1];i>=0 && key < arr[i]; --i) 
    { 
     arr[i]=arr[i+1]; 
    } 
    key=arr[i+1]; 

回答

0

您可以用数组排序:

import java.util.Arrays; 
Arrays.sort(arr); 

而且,你似乎试图改变数组的大小。难怪它不起作用。如果你想动态改变大小,你需要一个ArrayList,而不是一个数组。