zoukankan      html  css  js  c++  java
  • 数据结构java实现原理

     链表

    节点 Node up; Node down; Object o;

    属性Node first; Node last; int size;

    方法 add(Object o); remove(int index); get(int index); getNode(int index); isEmpty();

    set(int index,Object o);

    顺序栈

    属性:Object[] data;  top=-1;  max;

    方法:init(int max); push(); pop(); peer(); getSize(); isEmpty(); isFull();

    队列:

    Front->永远指第一个元素

    Rear->指最后一个元素的下一个元素

    属性:Object[] data; front=0; rear=0; max;

    方法:init(int max); isEmpty(); isFull(); rudui(Object o); chudui(); getSize();

    循环队列,循环队列必须损失一个空间

    入队rear=(rear+1)%max 出队front=(front+1)%max 队满(rear+1)%max==front队空rear==front

    树:

    二叉树

    二叉排序树:(根节点最大,左节点最小,右节点)

    节点Node: Node leftChild; Node rightChild(); int value;

    属性:Node root;

    方法:insert(); clear(); beforeOrder(); inOrder(); afterOrder(); getHeight(); getNodes(); isEmpty();

    两个栈实现队列:

    Stack1 stack2 两个栈,将stack1用于入栈,stack2用于出栈。

    入队操作:往stack1中入栈

    出队操作:当stack2不为空,将stack1中元素全部倒入stack2stack2再弹出栈顶元素

    两个队列实现栈:

    Queue1 Queue2 两个队列

    入栈操作:向一个队列中入队

    出栈操作:将有数据的一个队列灌入没有数据的另一个队列,只留下一个数据,然后正常执行出队操作来装作出栈。

  • 相关阅读:
    mysql导入数据到oracle中
    CAS代理配置
    CAS登录时不仅仅需要用户名来确认身份的情况
    easyui datalist按组多选
    easyui tree loadFilter的使用
    sketchup
    Spring Autowired 注入失败总是Null
    table sorting–angularjs
    mac系统下mysql开机启动总是3307
    angularjs 实现 文件拖拽,缩略图显示
  • 原文地址:https://www.cnblogs.com/ttaall/p/12001198.html
Copyright © 2011-2022 走看看