将一个单词插入一个按字母顺序排列的数组并移动元素

时间:2013-11-30 23:35:23

标签: java arrays insert newsletter alphabetical

我有一个非常简单的任务,但我是初学者,不知道怎么做。我必须创建一个带有两个参数的方法:一个字符串数组和一个单词。我们假设数组包含一组已按字母顺序按字母顺序排列的单词。我需要接受单词并将其以正确的字母位置插入到数组中,并相应地移动所有先前的数组元素。到目前为止,这是我的代码,但我认为这是完全错误的......

public static void insertWordIntoArray(String[] arr, String word){
    int i = 0;
    while(arr[i].compareTo(word) > 0){i++;} 
    String temp = ""; String tempV = "";
    temp = arr[i];
    arr[i] = word;

    for (String ind : arr){
        i++;
        if(i<9)tempV = arr[i+1];
        if(i<9)arr[i+1] = temp;
        temp = tempV;
    }

}

2 个答案:

答案 0 :(得分:1)

你是什​​么意思9?这是arr的大小吗?如果它是大小,那么只有当数组中的元素小于数组大小时才会起作用...我认为如果元素与数组大小相同,你会发现自己有数组出界错误...

数组是动态的......

我认为最好不要使用9之类的数字,因为这会使方法不可移植......

Can I increase the size of a statically allocated array? http://en.wikipedia.org/wiki/Dynamic_array

答案 1 :(得分:0)

是的,这是一种插入排序。 你可能最好使用

LinkedList<String>

,您可以插入其中而无需移动元素。