用C#的类实现数据结构的堆栈算法

数据|数据结构|算法

using System;
namespace DataStructure
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Stack//栈类
{
private int count=0;
private Node first=null;//定义首结点
public bool Empty
{
get
{
return(first==null);
}
}
public int Count
{
get
{
return count;
}
}
public object Pop()//入栈
{
if(first==null)
{
throw new InvalidOperationException("Can not pop from an empty stack;");
}
else
{
object temp=first.Value;
first=first.Next;
count--;
return temp;
}
}
public void push(object o)//出栈
{
first=new Node(o,first);
count++;
}
public Stack()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}
class Node //结点类
{
public Node Next;
public object Value;
public Node(object value):this(value,null){}
public Node(object value,Node next)
{
Next=next;
Value=value;
}
}
}

时间: 2024-09-11 11:49:17

用C#的类实现数据结构的堆栈算法的相关文章

c++-基于mfc的选址类问题数据结构课设

问题描述 基于mfc的选址类问题数据结构课设 我是一名大三生,学的软件工程,数据结构课设要求用mfc做学校超市选址,有没有哪个朋友看到过基于mfc的选址类问题,不管是什么选址都行,看到过的联系我一下,真诚感谢! 解决方案 http://wenku.baidu.com/link?url=3cLSkxSmo8dQUKSDBhlgg5bOvWG2BKZZ31K8shLzVdO9nkNI8PO64CDdW5HRo-82tWE7vOPCuP4GpqGEiKxwo3_9Uf_mjghBKoRnWHRwy6q

[WebKit]C++类的数据结构及在反汇编上的应用

在反汇编常常要在无法使用调试信息和源代码的情况下查看数据内容,数据结构比较好处理,如果是C++的类,就需要做些总结了. 基础 - POD? C++的成员变量的排列顺序关键在于区别是不是POD(Plain Old Data)类型,从而确定是否需要有VPTR.POD类型会保持和struct相同的数据排列顺序,但在类的定义中不能出现虚函数.析构函数及拷贝的赋值函数等,否则编译器会增加一个Virtual Table Pointer.下面两张图分别表示在继承关系下成员变量的排列顺序. 在反汇编过程中,在已

模板类-学数据结构是一个叫殷人昆写的,书里各种bug,下面的重载函数到底怎么写?不要+内容,只要重载格式

问题描述 学数据结构是一个叫殷人昆写的,书里各种bug,下面的重载函数到底怎么写?不要+内容,只要重载格式 #ifndef SORTEDCHAIN_INCLUDED #define SORTEDCHAIN_INCLUDED #include #include using namespace std; template struct ChainNode { E data; ChainNode* link; ChainNode(): link(NULL){}; ChainNode(E& e1, Ch

java 利用 LinkedList类实现 数据结构 栈.......

  /* java.util.LinkedList 类实现栈操作 栈是个后进先出的线性表 */ import java.util.*; class  Test {   private LinkedList ll=new LinkedList();   //创建栈        void push(Object o)    {        ll.addFirst(o); // 在前面插入 对象    }      Object pop()   {      return  ll.removeFi

数据结构教程 第四十课 总复习

教学目的: 数据结构综述 教学重点: 数据结构课程的核心 教学难点: 理解概念 授课内容: 一.学习数据结构的意义 设想一下,你决定向一个公司投资,而你对某个公司的了解只限于该公司的一条生产线每分钟可生产2000件产品,你会作出投资的决定吗?如果你是一个公司的管理者,这个公司日常的每笔交易的详细情况对你来讲的确重要,但如果你把时间花在这些数据上面,你就无法站在宏观的高度上把握公司的经营方向. 不管是经营一个公司,还是管理一个国家,对描述事物特征的数据必须加以分析与加工,现实事物是普遍联系的,描述

Delphi类的入门例子(9): 获取对象的 RTTI 属性与事件的函数

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, xmldom, XMLIntf, XMLBrokr, msxmldom, XMLDoc; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; Memo2:

使用Axis2和JiBX将Java类转换成Web服务,第1部分

使用Axis2和JiBX将Java类转换成Web服务,第1部分: 使用XML通过Java类定义Web服务 本文配套源码 简介 Web 服务在日常开发中重要性与日俱增,Axis2 也成为了倍受人们欢迎的开发Web 服务的开放源码平台.Axis2 使用Java 语言编写,它能利用了 JiBX(一种框架,用于将XML和Java绑定在一起)的自由性.假设您有一个含有大量 Java 类和数据结构的 Java 项目,而且不想打乱或者更改它们.JiBX 会帮助您实现这一切,它把在 Axis2 中使用的 XML

UML类图

什么是UML?UML是一种用于创建程序模型的可视化语言.UML有多重功能不同的图.通过使用UML,可以让复杂的系统变的简单且容易理解.因为系统常常都是让人难人理解,并且系统之内的信息处理也是相当复杂,而UML提供了不同的图来表示不同类型的信息. 什么是类图 UML图中最最基本的是类图.它对类做描述,并表示类之间的关系. 类之间的关系包括: 类A 是    类B :is-a的关系 类A 包含 类B : has-a的关系 类A 使用 类B : has-a的关系 那么,对于一个类来说,主要表现三方面的

JDK中常用包及其类和功能详细剖析

JDK所提供的所有标准Java类都存放在Java包中,如java.lang包中包含了运行Java必不可少的系统类.由于系统会自动将java.lang引入,所以不需要在源文件中用import语句来显示地引入这个包.另外,Java跪地过java.util和java.io是必须提供的标准包,在JDK中常用的包有以下几种: 1.java.lang:语言包 2.java.util:实用包 3.java.awt:抽象窗口工具包 4.javax.swing:轻量级的窗口工具包,这是目前使用最广泛的GUI程序设