C 我们可以在链表上使用插入排序而不使用任何其他数据结构吗?

C 我们可以在链表上使用插入排序而不使用任何其他数据结构吗?,c,arrays,sorting,C,Arrays,Sorting,我已经通过以下链接 他们正在使用另一个数组(*arr)进行排序 是否可以在不使用任何其他数组或链表的情况下在链表上执行插入排序?插入排序是一种就地算法,这意味着它不需要任何辅助内存空间来排序数组或其他内容 如果对数组使用插入排序,则在执行算法时必须交换数组中的元素,但如果有链表,您可以交换指针,而不是列表本身中的元素。您对其算法的读取不正确——传入的数组只是数据源,不用于插入排序 对于小向量和短链表,插入排序也是一种很好的算法。链表的一个好方法是插入排序小块(10-50个元素),然后递归合并排

我已经通过以下链接

他们正在使用另一个数组(*arr)进行排序


是否可以在不使用任何其他数组或链表的情况下在链表上执行插入排序?

插入排序是一种就地算法,这意味着它不需要任何辅助内存空间来排序数组或其他内容


如果对数组使用插入排序,则在执行算法时必须交换数组中的元素,但如果有链表,您可以交换指针,而不是列表本身中的元素。

您对其算法的读取不正确——传入的数组只是数据源,不用于插入排序


对于小向量和短链表,插入排序也是一种很好的算法。链表的一个好方法是插入排序小块(10-50个元素),然后递归合并排序链表,直到剩下一个排序的列表。

是。您在实施过程中遇到了哪些问题?(那篇文章使用数组作为数据源。可以是其他任何东西,它实际上不是排序的一部分。)是的,buy my source of data是列表本身而不是某个数组。您正在尝试使用插入排序对列表进行排序?那没有多大意义。在这种情况下,在构建列表的同时进行排序(即,您的“插入”函数或任何应该插入到正确位置的函数)。但是,是的,仍然有可能。