当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

数据结构算法集---C++语言实现

      这是我学数据结构编写的算法,我把他整理出来,都是基本算法,供大家学习。我使用c++面向对象形式编写,各种算法都封装在各自的类里,如果想增加功能,在相应的类里增加函数即可。我对树和图的构造也做了一些人性化设计,输入更加形象化,你可能看不懂,没关系漫漫来。各种类都使用模版设计,可以对各种数据类型操作(整形,字符,浮点)


    ///////////////////////////
    //    //
    //   堆栈数据结构   stack.h         //
    //    //
    //////////////////////////


    #include<iostream.h>

    template<class Type>class Stack;

    template<class Type>
    class StackNode
    {
    friend class Stack<Type>;
    private:
     Type data;
     StackNode<Type> *link;
       StackNode(Type D=0,StackNode<Type> *L=NULL):link(L),data(D){}
    };

    template<class Type>
    class Stack
    {
    public:
     Stack():top(NULL),NumItem(0){}
     void Push(Type item);
     Type Pop();
     Type GetTop();
     void MakeEmpty();
     bool ISEmpty();
     int GetNum();
    private:
     int NumItem;
     StackNode<Type> *top;
    };

    template<class Type>
    void Stack<Type>::Push(Type item)
    {
      top=new StackNode<Type>(item,top);
    NumItem++;
    }

    template<class Type>
    Type Stack<Type>::Pop()
    {
    StackNode<Type> *p;
    Type temp;
    temp=top->data;
    p=top;
    top=top->link;
    delete p;
    NumItem--;
    return temp;

    }

    template<class Type>
    Type Stack<Type>::GetTop()
    {

 

共3页 首页 上一页 1 2 3 下一页 尾页 跳转到
相关内容
赞助商链接