我是编程新手,所以我正在尝试一个程序来通过插入排序算法对链表进行排序。 我想交换节点而不仅仅是元素。 虽然我在 inte.net 上看到了替代实现,但我很想知道为什么我当前的实现没有给出预期的 output。 我的代码在一次交换操作后立即返回,而没有遍历整个列表。 这是我当前的实现: 排序.h/** ...
我是编程新手,所以我正在尝试一个程序来通过插入排序算法对链表进行排序。 我想交换节点而不仅仅是元素。 虽然我在 inte.net 上看到了替代实现,但我很想知道为什么我当前的实现没有给出预期的 output。 我的代码在一次交换操作后立即返回,而没有遍历整个列表。 这是我当前的实现: 排序.h/** ...
我正在C++ ,第 2 版中使用数据结构和算法研究优先级队列。 (Goodrich、Tamassia、Mount)我正在阅读有关用于优先队列的插入排序的页面: 简而言之,它讨论了我理解的最坏情况下的 O(²)。 然而最后一段是这样的: 或者,我们可以更改插入排序的定义,以便我们在第一阶段从优先 ...
Shell sort总的来说是改进的insertion sort 。 insertion sort的另一个改进是binary insertion sort 。 为什么没有 shell 二进制插入排序? 可以做到,编码起来应该也不是很困难。 (我同意让索引正确可能需要 2-3 天) ...
我目前正在创建一个乌龟游戏,它将在一系列记录中收集分数和首字母,我想运行插入排序以向用户显示他们是否收到了前三名之一。 但是,每当我尝试运行代码时,我都会收到一个属性错误。 代码在这里(如果需要可以提供更多代码): 我曾尝试重新排列我的数据并更改数据的存储方式,但没有任何帮助。 我不确定还有什么可以 ...
我正在从 web 源学习 Python,它使用 for 循环和 while 循环的组合实现了插入排序算法。 我想自己练习代码,我只使用 for 循环编写了一个算法。 我需要一些关于我的代码是否正确以及是否有效的反馈。 output 是:[2, 4, 6, 8, 10, 12, 20, 24] ...
我试图让我的quickSortRecursive方法工作,但它没有通过我的测试用例。 请注意,我按邮政编码排序:public class Location implements Comparable<Location> { private final String zipCo ...
这是代码: 我理解算法 rest 的逻辑,但我似乎无法理解执行 i = i - 1 的逻辑。有人可以解释一下吗? ...
我最近学习了 insertionSort 并且我不明白链接代码是如何工作的......如果有人可以逐行解释我会非常感激。 谢谢你的时间。 代码: 让我们以这个数组为例: array={ 30,16,12,51,37,18,24,8,23,24} 我将尝试证明我的思路是怎样的,希望你能纠正我的错误。 ...
这个问题在我的算法课程作业中被问到。 您首先有一个n大小的排序数组。 假设n=10并且数组是[1,2,3,4,5,6,7,8,9,10] 。 然后循环右移k 。 让我们说k=3 。 现在数组是[8,9,10,1,2,3,4,5,6,7] 。 如果根据n和k在此数组上应用插入排序,时间复杂度是多少? ...
我正在尝试在双向链表中实现插入排序算法,这是我的代码: 我已经尝试了代码,但它给了我一个无限循环。 当我尝试在我的调试器中运行它时,我无法理解它(我的可执行文件是从多个文件编译而来的)。 有人能帮我找出我的错误在哪里吗,我以后怎么能找到这类错误(无限循环)? 如果可能的话,你能给我推荐一份文档或任 ...
我有一个插入排序,它在对整数进行排序时可以正常工作,但是我不得不更改它以对不同项目的结构数组进行排序。 数组是10个人的名字和年龄。 该数组首先传递给一个排序 function 然后设置一个 for 循环来遍历该数组。 我认为我遇到的问题是数组没有正确循环,因为新数组的打印顺序仍然是混乱的。 这是我 ...
我有一项任务要完成,但我陷入了指针问题。 我有一个我创建的结构数组,想将它发送到 function 排序。在我将它发送到 function 排序之前,我想将它发送到打印 function 以验证指针是否正常工作。 这是我的代码...... 我尝试编译时遇到的错误是 我不确定指针如何工作得很好,我试 ...
这段代码应该是一个插入排序,但它是这样实现的吗? 我迷路了。 第一个循环遍历数组并检查下一个元素是否小于当前元素。 嵌套循环将下一个元素 (j) 正确插入到数组已排序部分的位置。 ...
Output:[31、26、41、41、58、59] 为什么结果不正确? 我不知道这里有什么问题。 谁能帮我? ...
对于数字列表,我正在尝试按升序对它们进行排序。 同时,我需要在我的 output 中添加一个交换和比较计数器。 在大多数情况下,如何在我的代码中添加增量? 我的代码: 这是一种插入排序方法。 ...
使用 c# 基准测试我得到以下结果,我的插入排序的平均时间,该代码似乎是线性的,这是怎么回事? 我的代码是错误的,这是应该预期的,或者我误解了大 O 表示法。 ...
我试图在 python 中实现插入排序算法并能够将其编码如下可以帮助我理解它,因为该函数在从未排序部分插入元素时正在考虑数组的排序部分。 此外,在您的评论中,请考虑实施是否正确,如果正确,什么可以使我的解决方案输出正确。 这是我得到的输出: [1, 3, 4, 5, 6, 2] tl; dr ...
我必须读取一个 csv 文件,然后按日期按升序对其数据进行排序。 情节扭曲是 90% 的数据排序正确,但其他 10% 的数据排序不正确。 csv 文件中的日期以 01/17/2015(月/日/年)的形式写入。 我对代码进行了一些测试,我注意到如果我运行两次插入排序,那么 10% 的未排序数据将被完 ...
我被要求为数组创建插入排序。 我的程序与老师的程序不同,但它对数组进行了排序。 但是,我很好奇它是否真的算作正确的插入排序。 此外,在排序结束时,会出现一些随机数。 我将不胜感激。 这是 output,一次一行: 注意最后的44。 我不知道为什么它在那里,因为代码一直运行良好,直到最后。 编辑:修 ...
好的,听我说完。 这是我的插入排序代码。 所以,截至目前,我有 因为我想跳过 i2 显然等于 -1 的迭代,因此对数组没有任何影响,因为第一次迭代什么都不做,并将第一个元素保持在数组的 0 位置,因为这正是插入的方式排序工作。 现在,我不确定发生了什么,因为正如前面提到的 if 语句被注释 ...