【问题标题】:How to implement a queue,如何实现队列,
【发布时间】:2013-10-26 16:05:58
【问题描述】:

我想知道是否可以依靠您的支持来解决这个问题,即用 C# 编写程序以使用指针实现队列或堆栈。

最大的问题是当我尝试在 C# 中重用 C++ 或 C 中的实现时,它们无法运行。

例如,当我尝试使用下面的代码来开始创建在 C# 中使用链表的代码时

struct cel {
   int         content;
   struct cel *prox;
}; 

控制台应用程序返回以下错误:

(1) 'Cel':成员名称不能与其封闭类型相同 (2) 类、结构或接口成员声明中的标记“*”无效 (3) { 预期的 (4) 无效令牌';'在类、结构或接口成员声明中 (5) 类、结构或接口成员声明中的标记“命名空间”无效

由于我需要运行这部分代码以继续执行其他部分,我真的很想依靠您的帮助来解决这个问题。

如果你知道如何正确实现这部分代码,或者,如果你知道如何在 C# 中使用指针实现队列或堆栈,请给我完整的代码。

提前感谢您的支持。

【问题讨论】:

  • 您需要先学习 C# 语言的基础知识——这是 Stack Overflow 无法教给您的东西,它需要一本书或(至少)一个好的教程。 C# 与 C 和 C++ 完全不同。
  • 我尊重你的意见,但我不能同意你的看法。首先,因为如果它像你说的那么简单,我已经在我访问过的几十个站点之一中找到了答案。如果您不知道某个问题的答案,请不要愚蠢地在尝试回答之前评估其相关性。
  • 他没有说你想做的事情很容易,他说语言不同,使用非常不同的做事方式。如果您想编写 C 或 C++ 代码,请编写 C 或 C++ 代码!这些语言并没有错,它们很有趣,写起来很有趣,特别是如果你已经知道如何做你想做的事。但是,如果您想编写 C#,则需要先学习基础语言,因为虽然相似,但您必须首先了解一些主要差异(此处无法解释,您应该拿起一本书或按照教程首先)。
  • 作为语言差异的一个简单示例,在 C# 中,默认情况下您已经在任何地方使用指针(类是“引用对象”,因此变量持有引用(一种智能指针)实物)。所以基本上在 C# 中,当你有一个 class 而不是 struct 时,假装每个 . 确实是一个 ->。您在上面的代码中所做的是使用普通的原始指针,除非您处于非常特殊的情况,否则在 C# 中几乎从未这样做过。
  • “请给我完整的代码”我们是什么,你们的走狗?

标签: c# struct stack queue


【解决方案1】:

您不能期望特定语言的代码可以在另一种语言中运行。 在 C# 中,您通常使用引用,而不是指针。先学好C#基础,再尝试写更复杂的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 2011-03-03
    • 2018-07-12
    • 2019-06-09
    • 1970-01-01
    • 2014-01-19
    相关资源
    最近更新 更多