需要有关insertionsort计划的帮助

时间:2014-05-04 00:23:05

标签: java arrays sorting computer-science insertion-sort

我一直在为学校做这个项目,当我看到说明书有点我注意不到时,我差点就完成了。我现在很沮丧,我会爱一个人来帮助......说真的,我距离废弃这个组合还有一步之遥。 以下是说明和示例:

输入数据文件并使用“insertionSort”算法在名为“sortNames()”的方法中对它们进行排序。然后取一组字符串并按字母顺序组织它们。在添加新项目时,请维护列表的排序顺序。应始终以维护列表的排序顺序的方式添加新项目。

数据文件是这个名称列表(只是像这样堆叠):

科尔

艾玛

斯潘塞

马修

卡特

罗伯特

扎卡里

康纳

基督教

布里克斯顿

Adam Loc

迈克尔

特伦顿

杰克

达拉斯

威斯汀

乔纳森

康纳

普里亚

埃德蒙

扎卡里

Areli

康纳

贝弗利

我没注意到的部分说明就是这个(它在底部):

你不能使用Arrays.sort() 或Collections.sort()!

无论如何,这是提供的骨架代码:

import java.util.ArrayList;
import java.util.Collections;
import static java.lang.System.*;

class InsertionSort
{
    private ArrayList<String> list;

    public InsertionSort()
    {
    }

    //modfiers
    public void add( String  word)
    {
        int loc = 0;
    }

    private int findInsertLocation( String word )
    {
      return -1;
    }

    public void remove(String word)
    {
    }

    public String toString()
    {
        return "";
    }
}

如果有人可以填写骷髅代码,我可以成为跑步者,所以我实际上可以说我做了一些工作。

我知道我听起来像个小吵闹的小伙子“噢,这太难了所以我会懒得让其他人去做”但我不是。我工作了大约一个半小时,现在只是加重了。我刚开始学习计算机科学,这是我的第一年,但我真的很喜欢各种各样的。请帮帮我。

谢谢,

Keelen

编辑:我的意思是我正在推销老师给我的东西。对不起,我错误地标记了它的骨架代码。我的问题是使用插入排序插入.dat文件。它的措辞方式让我相信它希望我对它进行排序并覆盖数据文件。所以代码只能在数据文件中工作,然后用排序版本覆盖它。这超出了我以前做过的任何事情,我之前的最大代码项目是制作一个石头剪刀游戏。不,它没有花费我一个半小时的空白代码,我说我做它的方式没有工作,所以我给了一个空白的石板。遗憾。

1 个答案:

答案 0 :(得分:0)

  

“但我真是个各种各样的废话”

你在这里做的不是帮助自己。让其他人为你做你的工作并不会让你变得更好。

开始学习插入排序的好地方是the Wikipedia article。但是因为你看起来很匆忙,我会在这里总结一下。

假设您从这个随机数组开始:

[ 4, 2, 5, 7, 3 ]

插入排序背后的一般思路是,您希望将数组拆分为两个部分 - 已排序部分和未排序部分。在每次迭代中,您选择未排序部分中的第一个元素,然后将>插入到数组的已排序部分中的正确位置。

首先,你有这个,|代表有序和未分类部分之间的分割,左边是有序部分:

[ | 4, 2, 5, 7, 3]

首先,取出未排序数组中未排序元素中的第一个元素,并将其移动到数组排序部分的正确位置。这很容易,因为数组中没有其他内容:

[ 4 | 2, 5, 7, 3 ]

然后你再说一遍:

[ 2, 4 | 5, 7, 3 ]
[ 2, 4, 5 | 7, 3 ]
[ 2, 4, 5, 7 | 3 ]
[ 2, 3, 4, 5, 7 | ]

现在你已经完成了!将其转换为代码不应该只采取一些循环,交换和if语句。

这应该足以让你入门。如果您尝试实施某些内容并且存在特定的事情,请尝试再次发布此处。