
数据结构
文章平均质量分 69
liuyukuan
擅长RDA(Robotic Desktop Automation)、数据处理、工具优化;致力于简化工作、提高效率!Geek
展开
-
【LeetCode】206.反转链表
头插法一般用于链表的创建,这里用的头插法大致相同,就是将原链表的结点从链表头逐个取下,并用头插法创建链表的方式重新建立一个反向排序的链表,已达到反转链表的效果。进阶:链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。输入:head = [1,2,3,4,5]输入:head = [1,2]输出:[5,4,3,2,1]输入:head = []原创 2024-04-14 09:53:57 · 232 阅读 · 0 评论 -
[AHK v2]比较两个数组的差异
比较两个数组的差异原创 2024-04-05 15:50:44 · 481 阅读 · 0 评论 -
【AHK v2】数据结构LinkedList实现示例
创建了一个`LinkedList`实例,添加了几个元素,然后展示了如何获取元素、移除元素和打印链表。这个简单的链表实现可以作为学习AutoHotkey v2面向对象编程的起点。原创 2024-04-03 17:04:57 · 565 阅读 · 0 评论 -
前缀、中缀、后缀表达式
一般而言,我们最常遇到中缀表达式转化为后缀表达式的方法。如何实现中缀表达式转后缀表达式?后缀表达式优势是不带括号。转载 2023-01-17 14:25:36 · 6022 阅读 · 2 评论 -
那些惊艳的算法—时间轮任务调度(sunwind整理)
戳这⾥下载:[《Hashed and Hierarchical Timing Wheels》](http://oss.lanjingdejia.com/file/2018/9/3361e5c57df44e719eadd68759017dac-twheel.ps)论⽂中的思路很简单但也⼗分巧妙,对算法不断的改进对⽐,各种操作系统,框架中的基于时间的调度算法都是基于时间轮的思想实现的。下⾯我们来看看,这个神奇的时间轮到底是怎样实现定时任务的调度的。...原创 2022-07-01 09:17:33 · 1316 阅读 · 0 评论 -
中缀表达式转后缀表达式
2.1)规则中缀表达式a + b*c + (d * e + f) * g,其转换成后缀表达式则为a b c * + d e * f + g * +。转换过程需要用到栈,具体过程如下:1.从左到右进行遍历2.运算数(操作数), 直接输出.3.左括号,直接压入堆栈 , (括号是最高优先级,无需比较) (入栈后优先级降到最低,确保其他符号正常入栈)4.右括号,(意味着括号已结束) 不断弹出栈顶运算符并输出直到遇到左括号 (弹出但不输出)5.运算符(操作符),将该运算符与栈顶运算符进...转载 2020-06-12 17:06:45 · 626 阅读 · 0 评论 -
[AHK]用堆栈数据结构实现后缀表达式求值(逆波兰表达式)
AutoHotkey版本;StackClass Stack{ stack := [] ;压栈 push(value) { this.stack.push(value) } ;出栈,栈为空时返回 undefined pop() { if (this.empty()) return "undefined1" return this.stack.pop() } size() { return this.stack.length() } empty() {原创 2020-06-10 21:22:05 · 378 阅读 · 0 评论 -
[AHK]堆栈的实现范例
用堆栈的数据结构来实现 :最小化几个窗口,再依次恢复显示。后最小化的先恢复!测试热键:shift+esc 最小化窗口,shift+`还原窗口;shift+esc 最小化窗口,shift+`还原窗口#PersistentWindowList:=[]return+esc::OutputDebug % "入栈" . WinExist("A")WindowList.push...原创 2020-01-10 23:23:29 · 386 阅读 · 3 评论