修复srt序号错误以及模式3无译文的问题

This commit is contained in:
Hami Lemon 2022-03-28 20:37:37 +08:00
parent 8b57abe8ee
commit c381852b49
3 changed files with 32 additions and 7 deletions

View file

@ -230,11 +230,24 @@ func (l *LinkedList[E]) PullFront() *E {
// Iterator 获取该链表的迭代器
func (l *LinkedList[E]) Iterator() Iterator[E] {
return &LinkedListIterator[E]{next: l.First}
return &LinkedListIterator[E]{
reverse: false,
next: l.First,
}
}
// ReverseIterator 获取反向迭代器
func (l *LinkedList[E]) ReverseIterator() Iterator[E] {
return &LinkedListIterator[E]{
reverse: true,
next: l.Last,
}
}
type LinkedListIterator[E any] struct {
next *Node[E]
//是否反向,如果为true,则是从尾部向头部迭代
reverse bool
next *Node[E]
}
func (l *LinkedListIterator[E]) Has() bool {
@ -246,6 +259,10 @@ func (l *LinkedListIterator[E]) Next() E {
if e == nil {
panic("iterator is empty.")
}
l.next = e.Next
if l.reverse {
l.next = e.Prev
} else {
l.next = e.Next
}
return e.Element
}