- 博客(6)
- 收藏
- 关注
原创 拓扑排序 + 力扣课表问题
你首先要把入度为0的点全部放在queue容器中(或者其他的容器中),然后让queue中第一个元素的后续节点的入度全部减1,判断入度是否为0,如果减1之后为0,就把这个节点加入进queue容器中,否则继续重复同样的操作,直至queue容器为空。像上面这道题目,统计好一共有多少元素加入了queue这个容器中之后,你需要判断在这个数是否和总数目相等,如果相等,则返回true,反之则反之。第二步,你需要统计出图中所有点的入度,如果学A这么课程要先学B1,B2,B3这三门课那么A的入度就为3,以此类推。
2023-12-29 20:38:14
546
1
原创 Linux实现TCP/IP网络编程
Ubuntu,C语言实现(Ubuntu是Linux系统中图形化页面做的比较好的一个了,个人推荐使用)2.可以理解socket库中最常用的几个函数,以此来实现网络编程的基础。struct sockaddr结构体:用于存放信息的,通信全靠它。htonl,htons这两个函数是用来处理ip地址和端口号的。argv[1]和argv[2]是我们要传入主函数的参数的。当编译服务器端后,服务器端会阻塞在那,等待客户端连接。gcc “文件名称” -o “随便取个名称”gcc “文件名称” -o “随便取个名称”
2023-10-17 12:18:18
252
原创 用栈计算中缀表达式(具体详细,还包含getchar的用法)
答:当返回1时有一种情况时读取到的是 ‘)’ ,此时如果还读取一次,运算符栈内的 ‘(’ 就不会出栈,后面的一系列运算就会出问题。(1)如果返回的是-1(就代表栈顶元素优先级低于读取到的字符),我们就把读取到的字符入栈并且再执行一次 ch=getchar()运算符栈出一次栈,运算数字就出两次栈(两次出栈顺序要相反,因为出栈顺序是和入栈顺序相反的),把得到的结果压入运算数字栈内。=‘#’ 时,就代表已经读完了表达式,而此时运算符栈里面可能还有运算符没有做完,就还需要做进行一次运算。
2023-05-05 12:13:34
671
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅