如何在Dart中通过push和pop实现堆栈

苏拉奇

我想在Dart中实现堆栈数据结构(不要与Flutter Stack小部件混淆),以便可以处理用于Flutter文本呈现的自定义TextStyles堆栈。

我知道使用堆栈可以推送和弹出值。这听起来与Queue类似,但我不确定是否有区别。

这不起作用:

final myStack = Queue<int>();
myStack.push(1);
final top = myStack.pop();
苏拉奇

代码堆叠封装是有益的。这是一个简化的版本:

class Stack<T> {
  final _stack = Queue<T>();

  void push(T element) {
    _stack.addLast(element);
  }

  T pop() {
    T lastElement = _stack.last;
    _stack.removeLast();
    return lastElement;
  }
}

笔记:

  • AQueue允许您修改两端,默认情况下为ListQueue有关更多信息,请参见此问题

  • 推送将添加到队列中,弹出将删除最后一个元素,然后返回该元素。

  • 您也可以添加一个top吸气剂来查看最后一个元素是什么,而无需将其弹出。

用法

您现在可以像这样使用它:

final myStack = Stack<int>();
myStack.push(1);
final top = myStack.pop();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在堆栈中实现pop()方法

来自分类Dev

如何在Spring MVC和Thymeleaf中实现Dart?

来自分类Dev

在C中创建pop()函数堆栈实现

来自分类Dev

pop() 功能如何在 Java 的堆栈中工作?

来自分类Dev

如何在Dart中实现异常链接?

来自分类Dev

如何在Dart中实现异步/等待

来自分类Dev

如何在Android中实现自定义堆栈视图?

来自分类Dev

如何在 ti-basic 中实现低内存堆栈

来自分类Dev

如何使用C#实现线程安全类队列的push和pop方法

来自分类Dev

如何通过调用和ret在程序中更改堆栈指针

来自分类Dev

如何通过调用和ret在程序中更改堆栈指针

来自分类Dev

如何在DART lang中实现DOM数据绑定

来自分类Dev

如何在Dart中实现日志记录系统

来自分类Dev

如何在 Angular Dart 中实现网格布局?

来自分类Dev

使用堆栈实现撤消和重做功能。如何编辑堆栈而无需在Haskell中重新创建堆栈

来自分类Dev

如何在Assembly MIPS中从堆栈中推送和弹出?

来自分类Dev

java-如何在使用链表实现的堆栈中实现弹出操作?

来自分类Dev

如何在Shell程序中实现&>和&>>?

来自分类Dev

通常如何实现队列和堆栈?

来自分类Dev

如何在LibGDX中推送和弹出矩阵堆栈

来自分类Dev

push_back和pop_back的实现

来自分类Dev

如何在带有Firebase的Xamarin和带有C#后端的Apple Push Notification中实现推送通知

来自分类Dev

如何在此B +树中最佳实现堆栈和队列操作?

来自分类Dev

如何在Dart中通过反射获取构造函数的参数?

来自分类Dev

如何在Dart中通过HttpServer发送图像文件?

来自分类Dev

如何在Dart中通过反射获取构造函数的参数?

来自分类Dev

如何在Matlab中通过'symfun'实现符号函数的派生?

来自分类Dev

如何在通过 jQuery 附加的输入中实现字体真棒

来自分类Dev

如何在C ++ 03中可移植地实现对齐的堆栈存储?

Related 相关文章

  1. 1

    在堆栈中实现pop()方法

  2. 2

    如何在Spring MVC和Thymeleaf中实现Dart?

  3. 3

    在C中创建pop()函数堆栈实现

  4. 4

    pop() 功能如何在 Java 的堆栈中工作?

  5. 5

    如何在Dart中实现异常链接?

  6. 6

    如何在Dart中实现异步/等待

  7. 7

    如何在Android中实现自定义堆栈视图?

  8. 8

    如何在 ti-basic 中实现低内存堆栈

  9. 9

    如何使用C#实现线程安全类队列的push和pop方法

  10. 10

    如何通过调用和ret在程序中更改堆栈指针

  11. 11

    如何通过调用和ret在程序中更改堆栈指针

  12. 12

    如何在DART lang中实现DOM数据绑定

  13. 13

    如何在Dart中实现日志记录系统

  14. 14

    如何在 Angular Dart 中实现网格布局?

  15. 15

    使用堆栈实现撤消和重做功能。如何编辑堆栈而无需在Haskell中重新创建堆栈

  16. 16

    如何在Assembly MIPS中从堆栈中推送和弹出?

  17. 17

    java-如何在使用链表实现的堆栈中实现弹出操作?

  18. 18

    如何在Shell程序中实现&>和&>>?

  19. 19

    通常如何实现队列和堆栈?

  20. 20

    如何在LibGDX中推送和弹出矩阵堆栈

  21. 21

    push_back和pop_back的实现

  22. 22

    如何在带有Firebase的Xamarin和带有C#后端的Apple Push Notification中实现推送通知

  23. 23

    如何在此B +树中最佳实现堆栈和队列操作?

  24. 24

    如何在Dart中通过反射获取构造函数的参数?

  25. 25

    如何在Dart中通过HttpServer发送图像文件?

  26. 26

    如何在Dart中通过反射获取构造函数的参数?

  27. 27

    如何在Matlab中通过'symfun'实现符号函数的派生?

  28. 28

    如何在通过 jQuery 附加的输入中实现字体真棒

  29. 29

    如何在C ++ 03中可移植地实现对齐的堆栈存储?

热门标签

归档