希尔排序的基本思想是在每次运行中,按照一定的间隔对元素进行分组,并将元素直接插入到每个组中,使小元素向前跳跃,逐步减小步长,使步长为1,第一次运行的步长为4,也就是说,每四个空格分成一组,每组直接插入排序
排序方法很多,包括直接插入排序、希尔排序、气泡排序、快速排序、直接选择排序和堆排序。只有直接插入排序和冒泡排序是稳定和易于实现的。根据不同的情况,每种排序方法都有各自的优点。如果平均排序方法最快,则为快速排序。
实际编程不同于做练习。你应该从实际项目中学习,而不是在课本上做练习。那没用。
学习数据结构或算法的关键是思想,而不是特定的语言和代码。在实际的程序中,这些东西会分散在不同的地方,不像做练习那样单一。整个程序甚至整个系统都是围绕着设定的数据结构和算法来构建的,数据结构和算法的选择是由项目的需求分析决定的。
数据结构和算法属于抽象知识,不是c/c独有的。当你理解了这一点,你就学会了。