数据结构排序
数据结构排序算法介绍,慢慢更新
忆可
学生一个,俗人而已
展开
-
插入排序介绍以及代码实现
插入排序思路 插入排序的基本思想是将n个待排元素看成一个有序和一个无序表,开始时,有序表中只有一个元素,无序表中有n-1个元素,每次排序从无序表中取出一个元素,将其和有序表中的元素比较,插入到合适的位置。 存在的问题:如果待排的元素特别小,而此时有序表已经很多了,则需要后移很多位。 代码实现 注释可能解释的不清楚,就是内部循环:是对于想要排序的元素以插入的方式寻找该元素的适当位置,达到排序的目的,或者debug吧,谢谢各位。 ...原创 2020-08-30 16:05:38 · 107 阅读 · 0 评论 -
快速排序介绍以及代码实现
快速排序 基本思想: 快速排序时对冒泡排序的改进,冒泡排序的基本思想前面一节提到过,就是打擂台,而快排通过一趟排序将需要排序的数据分隔为两个独立的部分,其中的一部分数据比另一部分的数据都要小,然后再按照此方法对两部分的数据分别进行快速排序,不断的分隔,从而将整个数据有序化,实现的方法,递归方法。 代码实现: ...原创 2020-08-25 11:12:16 · 109 阅读 · 0 评论 -
冒泡排序介绍以及代码实现
冒泡排序介绍以及代码实现 冒泡排序:打擂台思想 通过对待排序序列从前到后,依次比较相邻的元素的值,若发现逆序则交换,使得较大的元素逐渐向后移动,如果一趟比较下来没有移动,则排序完成 时间复杂度为o(n^2) 代码实现: 第一个for循环是选择序列的第几个数,第二个for循环,是将第一次选择的数与接下来的数进行比较并交换 在判断排序次数时,第二个for循环的条件为n<val.length-1-i,因为前面i个元素已经排序好了,到了最后,就没有必要再和他们比较,所以不需要写n<val.lengt.原创 2020-08-19 11:59:28 · 455 阅读 · 0 评论