Реализация класса Iterable в связанном списке в Dartlang? - PullRequest
0 голосов
/ 30 января 2019

Я знаю, что библиотека dart: collection имеет отличную реализацию Linked List.Тем не менее я пытаюсь реализовать связанный список самостоятельно как часть MOOC.

Вот моя очень простая реализация связанного списка

import './node.dart';

class LinkedList {
  // root node of the list
  Node root = null;
  // the number of items on the list
  int _count = 0;

  // returns true if root is not set
  bool isEmpty(){
    return this.root == null;
  }

  // getter for the _count variable;
  get count{
    return this._count;
  }

  // push method to push a new item to the end of the list
  push(String content) {
    Node item = new Node(content);
    if (this.root == null) {
      this._count += 1;
      this.root = item;
    } else {
      Node iterator = root;
      while (iterator.next != null) {
        iterator = iterator.next;
      }
      this._count += 1;
      iterator.next = item;
    }
    return item;
  }
}

Я хотел бы, чтобы он реализовал свойства Iterable Classи методы, такие как foreach и длина.Я прочитал документы для класса Iterable и IterableMixin, но я все еще пытаюсь понять, как использовать их с моим классом LinkedList, поскольку в документах приведен только пример использования Map в качестве Iterable.

1 Ответ

0 голосов
/ 30 января 2019

Расширьте IterableBase Документы и вы должны быть хорошими, чтобы пойти!

...