Java 需要insertionsort程序的帮助吗

Java 需要insertionsort程序的帮助吗,java,arrays,sorting,computer-science,insertion-sort,Java,Arrays,Sorting,Computer Science,Insertion Sort,我一直在为学校做这个项目,当我看到说明书中有一点我没有注意到的时候,我几乎完成了它。我现在很高兴,我希望有人能帮我。。。说真的,我离毁掉这个公司还有一步之遥。 以下是说明和示例: 输入数据文件,并使用名为“sortNames”的方法中的“insertionSort”算法对其进行排序。然后取一组字符串并按字母顺序组织它们。添加新项目时,请保持列表的排序顺序。添加新项目时,应始终保持列表的排序顺序 数据文件是一个名称列表,如下所示: 科尔 艾玛 斯宾塞 马修 卡特 罗伯特 扎卡里 康纳 基督教徒 布

我一直在为学校做这个项目,当我看到说明书中有一点我没有注意到的时候,我几乎完成了它。我现在很高兴,我希望有人能帮我。。。说真的,我离毁掉这个公司还有一步之遥。 以下是说明和示例:

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

数据文件是一个名称列表,如下所示:

科尔

艾玛

斯宾塞

马修

卡特

罗伯特

扎卡里

康纳

基督教徒

布里克斯顿

亚当洛克

艾丹

迈克尔

特伦顿

杰克

达拉斯

威斯汀

乔纳森

康纳

普里亚

爱德蒙

扎卡里

阿雷利

康纳

贝弗利

我没有注意到的部分说明是,它在底部:

您不能使用Arrays.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 "";
    }
}
如果有人能填写骨架代码,我就能成为跑步者,所以我可以说我已经完成了一些工作

我知道我听起来像个爱发牢骚的孩子哦,这太难了,所以我会懒散,让别人去做,但我不是。我做了大约一个半小时,现在情况越来越糟了。我刚开始学计算机科学,这是我的第一年,但我真的对各种各样的东西一窍不通。请帮帮我

谢谢

基伦

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

但我真的对各种各样的东西一窍不通

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

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

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

[ 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语句


这应该足以让你开始。如果您尝试实现某些东西,但有一个特定的东西让您卡住了,请再次尝试在此处发布。

这不是骨架代码,这是一个空白类。如果你花了一个半小时写一节空课……你所做的就是让我们帮你做作业。这不是堆栈溢出的原因。还有,你到底是怎么花了一个半小时才使用array.sort或Collections.sort的?还有,使用array.sort或Collections.sort无论如何都不能满足要求,因为它们都没有使用插入排序。你咨询过吗?我用了两种不同的方法,过去我的老师没有抱怨过如果我曲解指令,所以我做了一个使用array.sort的课程,然后注意到大的粗体字母,然后我开始思考如何做,并反复测试我的想法。我花了大约一个小时才发到这里,半个小时就用Arrays.sort制作了一个。具体的部分是:如何使用插入排序输入.dat文件?我一次输入一个,但我有一种感觉,我不应该这样做。哦!你本来应该这么说的。看一下,和类,以及获取文件的方法。还有其他一些方法可以获取您的文件,但这只是一个开始。一般的想法是使用一些I/O读取器来访问文件,并使用它来获取f行 从你的.dat文件