数据结构之栈和队列

栈:先进后出
队:先进先出
具体操作接口请看代码
实现我会传到github上欢迎大家下载
https://github.com/pink0453/dataStructure.git

这里注意一点队列的实现我继承了ArrayList这个实现 也就是我的第二篇博客

/** * 栈 * @author asdc * */
public interface Stack<T> {

    /** * 入栈 * @param e * @return */
    T push(T e);

    /** * 出栈 * @return */
    T pop();

    /** * 返回栈顶部对象 * @return */
    T peek();

    /** * 判断当前栈是否为空 * @return */
    boolean empty();

    /** * 返回当前栈的大小 * @return */
    int size();

}
public interface Queue<T> {


    /** * 入队 * @param e * @return */
    T enqueue(T e);

    /** * 出队 * @return */
    T dequeue();

    /** * 返回队首元素 * @return */
    T front();

}
/** * 栈的应用 * @author asdc * */
public class StackApplication {


    /** * 进制转换 将10进制的数转换为任意进制的数 * @param num * @param base * @return */
    public int convert(int num, int base){

        String[] bit = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};

        Stack<String> temp = new StackImpl<>();
        while(num != 0){

            temp.push(bit[num % base]);
            num = num / base;

        }

        String newNumStr = "";
        while(!temp.empty()){

            newNumStr = newNumStr + temp.pop();

        }

        return Integer.parseInt(newNumStr);

    }


}

你可能感兴趣的:(数据结构,栈,队列,进制转换)