Stack<> 构造函数在从其他构造函数初始化时是否会反转堆栈?

2024-01-05

这是代码:

var s = new Stack<int>();
s.Push(1);
s.Push(2);
s.Push(3);
s.Push(4);

var ns = new Stack<int>(s);
var nss = new Stack<int>(new Stack<int>(s));

然后让我们看看结果

        tbLog.Text += "s stack:";
        while(s.Count > 0)
        {
            tbLog.Text += s.Pop() + ",";
        }
        tbLog.Text += Environment.NewLine;
        tbLog.Text += "ns stack:";
        while (ns.Count > 0)
        {
            tbLog.Text += ns.Pop() + ",";
        }

        tbLog.Text += Environment.NewLine;
        tbLog.Text += "nss stack:";
        while (nss.Count > 0)
        {
            tbLog.Text += nss.Pop() + ",";
        }

产生以下输出:

s stack:4,3,2,1,

ns stack:1,2,3,4,

nss stack:4,3,2,1,

So, ns堆栈已恢复s堆栈和nss堆栈与s stack.


堆栈构造函数需要一个IEnumerable<T>将物品推上,就好像Add被多次调用。

迭代堆栈按“弹出”顺序迭代...因此,当您从另一个堆栈构造一个堆栈时,它将首先添加原始堆栈的顶部,然后将“从顶部开始的第二个”元素放在新堆栈的顶部堆栈等...有效地逆转它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Stack<> 构造函数在从其他构造函数初始化时是否会反转堆栈? 的相关文章

  • 结构化绑定中缺少类型信息

    我刚刚了解了 C 中的结构化绑定 但有一件事我不喜欢 auto x y some func is that auto正在隐藏类型x and y 我得抬头看看some func的声明来了解类型x and y 或者 我可以写 T1 x T2 y
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • Proguard minifyEnabled 对于调试构建为 true,不适用于 Lollipop 之前的版本

    我的应用程序的方法计数高于 64k 限制 因此我使用 Proguard 来减少它 发布版本一切正常 另一方面 调试版本仅对 Lollipop 设备成功 在棒棒糖之前的设备上启动时 我总是遇到臭名昭著的错误 com android dex D
  • PHP MySQL 查询不插入

    我在尝试将查询插入数据库时 遇到一些问题 我有这个 php 表单 应该执行插入查询 但没有任何反应 甚至没有错误 这是一个具有以下形式的示例查询 INSERT INTO FlashVideoList title urltitle descr
  • dompdf内存问题

    我正在使用 DOMPDF 从一个脚本生成大约 500 份报告 生成大约 10 15 个 PDF 后 内存不足 在调试中 看起来每次加载字体时都会加载 8M 但这似乎应该用字体缓存代码来处理 对这里出了什么问题有什么想法吗 我想发布一个简单的
  • Angular2:可观察内部的变化检测

    只是我用 Angular2 RC3 使用 Angular CLI 尝试了我的第一个应用程序 但我对此迷失了 我对变量的 更改检测 有疑问word 我更新了word里面的变量subscribeObservable 的方法 但没有检测到任何变化
  • Jackson JsonNode 到类型化集合

    转换杰克逊的正确方法是什么JsonNode到java集合 如果它是一个 json 字符串我可以使用ObjectMapper readValue String TypeReference 但对于一个JsonNode唯一的选择是ObjectMa
  • 将表单放置在单击的通知图标上方

    有没有办法将窗体放置在 Windows 7 和 Windows Vista 中单击的 通知 图标上方 这是一个更简单的方法 当 OnClick 事件触发时 您可以获取鼠标的 X Y 位置 您还可以通过这些对象的一些检查来获取任务栏位置Scr
  • 如何在字符串中使用 contains 和 equalsIgnoreCase

    有没有办法检查字符串是否包含某些内容而不区分大小写 例如 此代码无效 只是为了让您对我的问题有一个基本的了解 String text I love ponies if text contains equalsIgnoreCase love
  • python selenium 代码将文本保存在剪贴板中的变量中,通过单击元素将文本复制到剪贴板

    在我的网页上有一个窗口 如下图所示 它有一个显示密码的部分 当我单击 复制 元素时 它将密码复制到剪贴板 然而 该窗口将在 30 秒内关闭 然后剪贴板上复制的密码将丢失 我的目的是将复制到剪贴板上的密码保存到一个变量中 以便在我的 pyth
  • 阻止发送 Laravel 通知

    我正在开发一个功能来发送 级联 或一系列通知 https laravel com docs 5 8 notifications不同频道之间存在延迟 例如 电子邮件 gt 30 分钟后 gt 推送 gt 30 分钟后 gt 短信 该流程运行良
  • WAMP登录系统

    我将一堆以前在不同网站上运行的网站文件转移到WAMP 一切正常 但现在自从我将其转移到WAMP后 一些登录php的东西根本不起作用 这session destroy 东西根本不起作用 我试过了session unset 也 我在 WAMP
  • SQL Server IN(选择)导致不终止查询

    我已将问题缩小到最小的示例 我应该在要运行的实际查询中为顶层选择更多列 Query SELECT AspNetUsers Id FROM Trade US PC INNER JOIN AspNetUsers ON Trade US PC T
  • HTML5 拖放不适用于 IE11

    应用了 HTML5 原生拖放 拖放不适用于 IE 但适用于 chrome 和 firefox 拖动似乎有效 但在 ICE 上没有发生拖放 另一个小问题 在 IE 中 我的可拖动元素周围有一个半透明的正方形 但它的背景是透明的 图像是这样完成
  • 未捕获的 DOMException:无法在“WorkerGlobalScope”上执行“importScripts”

    我正在尝试从中导入脚本 importScripts https www gstatic com firebasejs 9 1 0 firebase app js importScripts https www gstatic com fir
  • dict 的 dict 上的 Mypy 错误:“object”类型的值不可索引

    我有以下关于 python 的字典 dictionary key1 1 sub dict key2 0 当我在以下行运行 mypy 时 print dictionary sub dict key2 它会引发错误Value of type o
  • 如何从外部 AJAX 更新 p:accordionPanel 单个选项卡中的组件?

    我有一个p accordionPanel它代表一个项目列表 每个选项卡中有一个表单 提交任何重复表格后 可能需要额外的数据 即当p dialog弹出提示用户输入更多数据 该对话框是在折叠面板外部定义的 因为与折叠面板中的项目不同 一次只能显
  • 如何设置 log4j 的最大文件大小不受限制?

    我通过谷歌没有得到这个问题的明确答案 所以我把它提交给群体思维的策划者 以确保得到高质量的答案can将来可以使用 Google 使用 log4j RollingFileAppender 我可以设置文件在自身滚动之前达到的最大大小 如下所示
  • SSIS 表达式生成器的转义字符是什么?

    我需要在 SQL Server Integration Services 的表达式生成器中转义引号 我无法用双引号或三引号来转义它 反斜杠 是转义字符 示例 SELECT 分支 tran date FROM TellerTransactio
  • HTML Tidy 的 .NET 版本?

    有谁知道是否有可用于 NET 的 HTML Tidy 原生端口 在 Sourceforge 中 有一个 TidyNet 项目 自 2005 年以来就没有更新过 看起来只是一个包装器 Java 端口似乎作为最近的 JTidy 项目而存在 HT
  • Visual Studio (2022) javascript 调试不适用于 Edge 浏览器

    使用 Visual Studio 2022 v17 1 3 和 Microsoft Edge 99 0 1150 55 我使用 Chrome 来执行 ASP NET 项目 并且 Javascript 断点有效 切换到 Edge 后 Java
  • Stack<> 构造函数在从其他构造函数初始化时是否会反转堆栈?

    这是代码 var s new Stack