知识点
咸鱼翻翻身
这个作者很懒,什么都没留下…
展开
-
python的异常处理
python有五种异常处理机制 1、默认异常处理器。 如果我们没有对异常进行任何预防,那么程序在执行过程中发生异常就会中断程序,调用python默认的异常处理器,并在终端输出异常信息。 2、try…except… 程序首先执行try下面的语句,如果发生异常则立刻寻找except,并执行except下的语句,一般可以在except下打印错误信息。无论是否发生异常,程序在try…except…之后都会继续执行。 ...原创 2021-04-19 11:36:32 · 167 阅读 · 0 评论 -
try...except...finally中finally的意义
问:try…except…之后会继续执行后续代码,try…except…finally…中无论是否发生异常,都会执行finally中的代码,那为什么不把finally中的代码直接放到try…except…块后面?finally的意义在哪里? 答:祖师爷这样设计出来,并且随着版本更新一直没有被淘汰,那一定是有他的道理的。实际上finally的重点就是【无论是否发生异常,都会执行】。这句话的意思是绝对的,即使在try…except…中有return、break、continue这样的语句,也会先执行完fi.原创 2021-04-19 11:12:55 · 444 阅读 · 0 评论 -
如何构造最大堆和最小堆?
最大堆和最小堆又叫大顶堆和小顶堆(大根堆和小根堆),是二叉树的一种排列方式。 最大堆:根结点的键值是所有堆结点键值中最大者,且每个结点的值都比其孩子的值大。 最小堆:根结点的键值是所有堆结点键值中最小者,且每个结点的值都比其孩子的值小。 堆排序的过程就是不断构造最大堆的过程。堆排序的时间复杂度是O(nlogn). C++中的优先队列priority_queue可以用来构造最大堆和最小堆。在优先队列中,元素被赋予优先级,当访问优先队列时,优先级最高的优先被访问,即top()访问的优先级最高的元素。in原创 2020-11-24 17:14:47 · 993 阅读 · 0 评论 -
C++自定义排序
C++自定义排序 #include <iostream> #include <algorithm> #include <vector> using namespace std; bool compare1(const int& a, const int& b) { return a < b; // 升序 } bool compa...原创 2020-03-18 12:28:09 · 257 阅读 · 0 评论 -
C++最小堆/最大堆的构造
C++最小堆/最大堆的构造 #include <iostream> #include <set> #include <vector> using namespace std; struct node { int index; int value; node(int i, int j) : index(i), value(j) {} }; struct...原创 2020-03-18 12:29:02 · 353 阅读 · 0 评论