spring-data-graph - 如何使用 DatagramPacket 和 DatagramSocket 类创建服务器-客户端应用程序?
问题描述
正如问题所说,我如何使用 DatagramPacket 和 DatagramSocket 创建服务器客户端应用程序?
解决方案
请参阅以下解决方案:
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class DFSTree {
public static ArrayList<Integer> listeIDsOrder = new ArrayList<>();
public static void main (String[] args){
Map<Integer, Integer> map = new HashMap<>();
map.put (1, null); //root
map.put (10, 1);
map.put (11, 10);
map.put (12, 10);
map.put (13, 10);
map.put (20, 1);
map.put (21, 20);
map.put (22, 20);
map.put (30, 1);
map.put (31, 30);
getOrder (1, map);
System.out.println (listeIDsOrder);
}
public static void getOrder (int root, Map<Integer, Integer> graph){
LinkedList<Integer> stack = new LinkedList<>(); //use stack for correct order of processing
stack.add(root); //add root
getOrder(graph, stack);
}
public static void getOrder (Map<Integer, Integer> graph, LinkedList<Integer> stack ){
while(!stack.isEmpty()){
int node = stack.pollFirst(); //for bfs order. for dfs order use stack.pollLast();
listeIDsOrder.add(node);
List<Integer> keys = new ArrayList<>(graph.keySet());
Collections.sort(keys);
for(int key : keys){
if(graph.get(key) != null && graph.get(key) == node) {
stack.add(key);
}
}
}
}
}
输出:[1、10、20、30、11、12、13、21、22、31]
推荐阅读
- python - TypeError:无法为列表解压缩不可迭代的 int 对象
- django - 带有时区选择的 Django 日期时间表单字段
- python - 对 Huggingface Transformers 序列分类的 predict() 输出感到困惑
- reactjs - 显示或隐藏从数组渲染的 React 组件,仅显示特定的一个
- c++ - LinkedList 中的分段错误
- spring-boot - Optaplanner 可以管理预订所需的各种组件吗?
- java - Android studio 拒绝启动!(JVM & JDK)
- javascript - 在 discord.js 机器人中收集反应时是否保证顺序?
- python - 有没有办法检查一个值是否在python中2个字典中包含的值给定的区间内
- excel - 交易逻辑 - 排除前几天的信号