排序算法

排序算法从内存的角度上来说分成内排序和外排序

内排序:要排序的数据在内存上

外排序:要排序的数据在外存上

一:冒泡排序:可以理解为鱼图泡泡(大泡泡在最上面)

冒泡排序是依次进行比较,比如一数据63974,使用冒泡排序的话就是先将63进行比较,比较出大的,然后在用大的和后面的进行比较,6和3比,6大,6在和9进行比较,以此类推,所以冒泡排序的话最上面的一定是最大的,比较交换位置的时候,比如说6和3,要先将3拿出来放在一个容器中,然后将6放在3 的位置上,再将3拿出来放在6的位置上

这就完成了一次冒泡排序,所以如果使用冒泡对一个数据进行排序的话,有可能会冒泡排序很多次

另外冒泡排序是稳定的排序

二:选择排序:

选择排序是不稳定的,比8948797这堆数据,选择排序的做法是先浏览一圈这堆数据,然后在这堆数据中找出最小的元素和这堆数据中第一个元素交换位置,然后在浏览一圈找出剩下数据中最小的元素,和第二个元素交换位置,以此类推

三:插入排序

插入排序可以理解成小混混踢馆

拿一组数据为例子:16495730

插入排序要将一组数据分成有序和无序两种,默认第一个数据为有序,其他为无序,无序的要依次和有序中最大的元素做比较,就相当于一个校园里,一开始只有一个人,所以他是老大

这里一是有序,6495730为无序,然后6也来到这个学校了,和有序中最大的做比较,这里有序中最大的是1,6和1进行比较,6大,所以6放在1前面变成16,这个时候有序变化了16,而无序变成495730,再然后4也来到这个学校了,他也要争老大,争老大肯定找这个学校的老大干架,发现打不过他,先不管6,去和1比较,发现能干过,那4 就排在6后面,当第二,这时候有序和无序分别是146,95730

剩下的数据排序以此类推

全部评论
还有6个排序嘞
点赞 回复 分享
发布于 2022-06-05 11:39

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
11-13 20:32
门头沟学院 Java
面向未来编程code:我没看到他咋急,他不就问你个问题。。。
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务