![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
流通币
VS平台 C++,C#,计算机个人爱好者
展开
-
C++ 窗体编程 实现鼠标滚轮
鼠标滚轮的获取是通过一个MouseWheel 消息,当鼠标向上滚动时值为120,当鼠标向下滚动时值为-120。有了这值之后我们就可以实现鼠标滚动的判断了。首先对于用户来说只需要知道鼠标是向上,向下或者是停止滚动。那么可以先定义一个枚举:enum class MouseWheelState{ Up, Down, Stop,}; 然后再分析,当用户不滚动时,滚轮并不是马上就停止,所以它存在一个值MouseWheelValue来判断到底是向上,向下,还是停止,还存在一个增,减量。当然..原创 2021-10-02 23:28:23 · 3156 阅读 · 0 评论 -
数据结构,高效率循环链表三
上期我们说到填加以及放入库,这期我完善代码,并附上代码给大家分享测试代码如下:之前写的代码迭代器缺了一个构造,这次补充了复制构造,同类赋值以及删除一个的函数完整代码如下:#pragma oncetemplateclass CycleList{struct Node{T value; //值Node* pNext; //上一个Node* pFont; //下一个};Node* m_pHead; //头节点Node* m_pLibary;原创 2021-09-24 09:45:42 · 110 阅读 · 0 评论 -
数据结构,高效率循环链表二
数据结构之循环链表C++要执行高效的链表,上期已经说过了,把不要的节点放入库节点,下次再用就不需要开辟新的空间。在程序设计中有开辟新的空间,就有释放,我们先把后续释放的内容补上。如上图,当我们clear的时候留住两个头节点,clear函数咱们先不实现,等下面说完迭代器之后,再写这样代码可读性更高。当然我们这里要用的不是clear函数。不然达不到高效的效果,我们需要的是把不要的节点放入库节点当中。既然如此,我们必要考虑到链表的实用性,一般情况下,链表用于添加,遍历,然后全部删除。既然要全部删除,那么我们原创 2021-09-22 22:02:41 · 150 阅读 · 0 评论 -
数据结构,高效率循环链表一
数据结构之循环链表C++我们都知道线性结构的链表非常方便,非常好用。但是真的就是最好的吗?很显然在程序设计中没有最好,只有最实用的。我们在使用链表时,会不断开空间,再释放空间。对于大量重复的使用链表来说,这样是比较消耗效率的。鉴于以上所言,今天给大家分享一种用内存换效率的循环链表。设计思路如下:既然开空间,释放空间比较耗效率,那咱们就把链表中删除的空间,临时储存起来,等到下次需要新空间的时候,直接提取出来用如下图:下面就开始创建循环链表这里我们使用双向链表结构,因为要不不断取节点,存节点,双向链表原创 2021-09-22 13:57:43 · 170 阅读 · 1 评论