アルゴリズムの第4版の1.3リュックサック、行列とスタック:練習問題1.3.42


import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;

import java.util.Iterator;
import java.util.NoSuchElementException;

public class Stack  implements Iterable{
    public static void main(String[]args){
        Stack s=new Stack<>();
        for (int i=0;i<26;i++)
            s.push((char)('a'+i));
        Stack t=new Stack<>(s);
        int N=s.size();
        for (int i=0;i s){//1.3.42
        Stack temp=new Stack<>();
        int N=s.size();
        for (int i=0;i Stack copy(Stack s){
        Stack result=new Stack<>();
        Stack temp=new Stack<>();
        Iterator iterator=s.iterator();
        while (iterator.hasNext())
            temp.push(iterator.next());
        iterator=temp.iterator();
        while (iterator.hasNext())
            result.push(iterator.next());
        return result;
    }
    public Iterator iterator(){
        return new StackIterator();
    }
    private class StackIterator implements Iterator{
        private Node current=first;
        public boolean hasNext(){
            return current!=null;
        }
        public void remove(){}
        public Item next(){
            Item item=current.item;
            current=current.next;
            return item;
        }
    }
}