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]