Data structures 通用算法和数据结构的操作

Data structures 通用算法和数据结构的操作,data-structures,Data Structures,我认为这里的数据结构是一个队列,因为它从列表中删除了最旧的元素。你怎么看?这正是一个队列数据结构(先进先出)。通知所有插入的项目都将添加到尾部,所有删除的项目都将从头部中删除 序列状态 Java测试代码 我投票把这个问题作为离题题来结束,因为问题应该是独立的。我不能把图像放在问题中,我不知道为什么。不要把图像放在问题中。把它写下来。那是一堆,最后一个在第一个Out@Fil:重读问题。插入1、12和5,然后删除项目。根据问题,1是删除的第一项。输出与输入的顺序相同,这意味着它是FIFO:先进先出。


我认为这里的数据结构是一个队列,因为它从列表中删除了最旧的元素。你怎么看?

这正是一个队列数据结构(先进先出)。通知所有插入的项目都将添加到尾部,所有删除的项目都将从头部中删除

序列状态 Java测试代码
我投票把这个问题作为离题题来结束,因为问题应该是独立的。我不能把图像放在问题中,我不知道为什么。不要把图像放在问题中。把它写下来。那是一堆,最后一个在第一个Out@Fil:重读问题。插入1、12和5,然后删除项目。根据问题,1是删除的第一项。输出与输入的顺序相同,这意味着它是FIFO:先进先出。如果它是一个堆栈,则顺序将颠倒。
List    : 1 12 5
Removed : -

- After First Remove ( * )
List    : 12 5
Removed : 1

- After Second Remove ( * * * )
List    : 7
Removed : 1 12 5 3

- After Third Remove ( * )
List    : 2 4 13
Removed : 1 12 5 3 7

- After Fourth Remove ( * * * )
List    : 14 15
Removed : 1 12 5 3 7 2 4 13
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

public class QueueDemo {

    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();
        List<Integer> removed = new LinkedList<>();

        queue.add(1);
        queue.add(12);
        queue.add(5);

        System.out.println("After First Insert");
        System.out.println("Queue: " + queue);
        System.out.println();

        removed.add(queue.poll());

        System.out.println("After First Remove ( * )");
        System.out.println("Queue   : " + queue);
        System.out.println("Removed : " + removed);
        System.out.println();

        queue.add(3);
        queue.add(7);

        removed.add(queue.poll());
        removed.add(queue.poll());
        removed.add(queue.poll());

        System.out.println("After Second Remove ( * * * ) ");
        System.out.println("Queue   : " + queue);
        System.out.println("Removed : " + removed);
        System.out.println();

        queue.add(2);
        queue.add(4);
        queue.add(13);

        removed.add(queue.poll());

        System.out.println("After Third Remove ( * ) ");
        System.out.println("Queue   : " + queue);
        System.out.println("Removed : " + removed);
        System.out.println();

        queue.add(14);
        queue.add(15);

        removed.add(queue.poll());
        removed.add(queue.poll());
        removed.add(queue.poll());

        System.out.println("After Fourth Remove ( * * * ) ");
        System.out.println("Queue   : " + queue);
        System.out.println("Removed : " + removed);
        System.out.println();
    }

}
After First Insert
Queue: [1, 12, 5]

After First Remove ( * )
Queue   : [12, 5]
Removed : [1]

After Second Remove ( * * * ) 
Queue   : [7]
Removed : [1, 12, 5, 3]

After Third Remove ( * ) 
Queue   : [2, 4, 13]
Removed : [1, 12, 5, 3, 7]

After Fourth Remove ( * * * ) 
Queue   : [14, 15]
Removed : [1, 12, 5, 3, 7, 2, 4, 13]