我需要从链表中删除最小的元素值。喜欢
{8,4,7,2,9,4,5,3}
变为:
{8,4,7,9,4,5,3}
我写了这个:
public void RemoveMin() {
T min = list.getInfo();
for (int i = 0; i < 7; i++) {
if (list.getLink() < min)
min = (T) list.getLink();
else
continue;
}
}
答案 0 :(得分:3)
你可以这样做:
public void RemoveMin()
{
int nbElements = list.size()
int lowerValueIndex = 0
for (i = 0; i < nbElements; i++)
{
if(list.get(i) < list.get(lowerValueIndex)
{
lowerValueIndex = i;
}
}
list.remove(lowerValueIndex);
}
首先,您使用第一个元素初始化最低值。 然后在每个元素处,将值与已找到的较低值进行比较。 如果new较低,则采用新的lowerValueIndex。 最后,您只需删除最低的元素。 请注意,使用此解决方案,您的数据必须直接具有可比性
答案 1 :(得分:0)
如果您的问题是如何删除元素属于通用类型T的列表的最小元素,那么您应该执行以下操作: