java 将一个 Stack(栈)反转

看到  http://bbs.csdn.net/topics/390843046   这里的关于一个栈的问题:

stack的存储方式是:属于线性类型,则存储方式遵循:先进后出,后进先出;

看以下代码及结果:

    public static void main(String[] args) {
    
        Stack s = new Stack();
        s.add("apple");
        s.add("banana");
        s.add("org");
        s.add("cat");
        while(s.size()>0){
            System.out.println(s.pop());
        }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,我们可以使用链式数据结构(如链表)来实现一个,用于将十进制数转换为二进制数。链式的优点是插入和删除操作的时间复杂度相对较低,适合处理这类需要频繁添加和移除元素的情况。 下面是一个简单的步骤描述和示例代码: 1. 创建一个节点类(Node),用于存储数字和指向下一个节点的引用。 2. 实现链式类(LinkedStack),包含基本操作如压(push)、弹(pop)、查看顶元素(peek)等。 3. 在链式类中添加一个方法(decimalToBinary)来将十进制数转换为二进制字符串。 ```java // Node类 class Node { int value; Node next; public Node(int value) { this.value = value; this.next = null; } } // LinkedStack类 class LinkedStack { private Node top; // 添加基本操作... // 将十进制转换为二进制 public String decimalToBinary(int decimal) { if (decimal == 0) { return "0"; } StringBuilder binary = new StringBuilder(); while (decimal > 0) { int remainder = decimal % 2; binary.append(remainder); decimal /= 2; // 向左移动一位 } return binary.reverse().toString(); // 反转字符串,因为链式从后向前添加元素 } } // 使用示例 public static void main(String[] args) { LinkedStack stack = new LinkedStack(); int decimalNumber = 10; String binary = stack.decimalToBinary(decimalNumber); System.out.println("十进制 " + decimalNumber + " 转换为二进制为: " + binary); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值