Просматривая список со счетчиком, остановимся, когда счетчик достигнет лимита:
cursor = head; for (int i = 1; (i < position) && (cursor != null); i++) { cursor = cursor.link; }
Он останавливается, когда курсор достигает конца списка, который в это время является нулевым.
Пройдите по списку, пока не найдете целевой узел, также запишите его индекс:
while ((index < manyItems) && !(data[index].equals(target))) index++;
Просмотрите весь список, держите счетчик:
for (cursor = head; cursor != null; cursor = cursor.link) { answer++; }
Поиск узла в связанном списке:
public static <E> Node<E> listSearch(Node<E> head, E target) { Node<E> cursor; if (target == null) { // Search for a node in which the data is the null reference. for (cursor = head; cursor != null; cursor = cursor.link) if (cursor.data == null) return cursor; } else { // Search for a node that contains the non-null target. for (cursor = head; cursor != null; cursor = cursor.link) if (target.equals(cursor.data)) return cursor; } return null; }
Просмотрите связанный список с помощью цикла while:
Node cur = head; while (cur != null) { answer += cur + "\n"; cur = cur.getNext(); }