删除2个给定索引之间元素的最佳算法

时间:2013-10-15 17:05:26

标签: java c++

所以我正在努力学习算法效率。我知道如何从数组中删除一个元素,但不知道如何在两个索引之间删除。让我假装 list = {1,2,3,4,5,6,7,8,9,10},我们用参数调用removeBetween方法: removeBetween(2, 6);

public void removeBetween(int FirstIndex, int LastIndex)
{


}

2 个答案:

答案 0 :(得分:2)

您可以遵循的一般算法方向:

要删除2个给定索引之间的所有数字,请说(FirstIndex,LastIndex):

  • 将索引0到FirstIndex的所有元素复制到result数组。

  • 接下来将LastIndex中的所有元素复制到Array.lenght() - 将1个索引复制到上面相同的result数组。

返回result

答案 1 :(得分:0)

因此,如果您将项目放在数组列表中,则可以执行以下操作:

ArrayList<Whatever object is> newElements = yourlist.sublist( 0, firstIndex );
newElements.addAll( yourlist.subList( LastIndex + 1, yourlist.size() ) ; 
相关问题