数据结构
文章平均质量分 78
FuLLovers
这个作者很懒,什么都没留下…
展开
-
使用栈实现非递归快速排序详细记录
最后,我们将右子数组的边界和左子数组的边界压入栈中,以便在下一轮循环中处理。注意,我们首先压入右子数组的边界,然后是左子数组的边界。同上,因为栈是后进先出的数据结构,我们希望先处理左子数组,然后再处理右子数组。接下来,我们进入一个循环,只要栈不为空,我们就从栈中弹出左右边界,并对这部分数组进行划分。我们使用 MedianOfThree 函数来选择一个枢纽元素,并得到它的索引 keyi ,这个 key 元素将用于划分数组。因为我们首先压入的是左边界,按照栈的“后进先出”,所以先弹出右边界,然后是左边界。原创 2024-04-21 19:55:46 · 281 阅读 · 0 评论 -
环形链表的约瑟夫问题
这里有一个聪明的方法,我们可以。原创 2024-02-24 20:45:09 · 1601 阅读 · 1 评论