用户:
新手我查看:0 回复:1 评论:0 创建时间:2023-02-26T12:38:53
这个东西主要用来选择最优解,比如克隆体面向克隆体,寻路,自制排行榜。。。
有用
---------------------------------------------
--------------------------------------------------
【声名:以下来源网络】(【×××××】为我说的)
冒泡排序 分类 算法
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来【kitten加不了,所以我用了一个变量“有序”】
说并没有什么太大作用。 1. 算法步骤比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
2. 动图演示

3. 什么时候最快
当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。
4. 什么时候最慢当输入的数据是反序时(写一个 for 循环反序输出数据不就行了,干嘛要用你冒泡排序呢,我是闲的吗)。
----------------------------------------------------------------------
网络来源结束
总结:用处比较两个数据,顺序不对就调换,直到全部顺序正确
---------------------------------------------------------------------------

真是非常简单啊!(这是菜鸟排序)
-------------------------------------
解析


然后是对比,调换(较为复杂,我第一次只是单纯的把第一项替换成了第二项,第二项替换成了第一项,然后)

我去我3呢!
因为第一项变成了第二项,所以在第二项替换时 替换的不是第一项 而是第二项
嘶-----
之后我该进了一下

这就是改进后的“替换”部分了
拎出来说



呃呃呃,有点装不下
拎出来


讲完就折叠了




好了完了
作品链接: