Forwarded from dnaugsuz
https://t.iss.one/purewriter/35208
https://t.iss.one/purewriter/35223
感觉 drakeet 没有意识到可以这么做的原因是他站的层次太高了,他没有意识到最终交给视图渲染的列表本身可以是无序列表(列表当然是有序的,但是可以分无序列表和有序列表)
他只关注有什么「库提供的」排序算法参考的标准(比如优先级),所以他认为排序必须要有优先级才行,而没有意识到排序本身只是算法进行的操作而已,即使让算法随便乱排序又如何?
https://t.iss.one/purewriter/35223
感觉 drakeet 没有意识到可以这么做的原因是他站的层次太高了,他没有意识到最终交给视图渲染的列表本身可以是无序列表(列表当然是有序的,但是可以分无序列表和有序列表)
他只关注有什么「库提供的」排序算法参考的标准(比如优先级),所以他认为排序必须要有优先级才行,而没有意识到排序本身只是算法进行的操作而已,即使让算法随便乱排序又如何?
Telegram
drakeet in PureWriter's Friends
就是提供一个菜单让用户选择是否手动排序,如果勾选,则按照所有已有排序,给文章全部标上优先级
Forwarded from dnaugsuz
始终没有理解我的意思,我的意思是让他先把结果列表里固定好「固定位置」的项目
然后再对剩下的位置选择排序
然后再对剩下的位置选择排序
Forwarded from dnaugsuz
go 里面实现 Sorter 要三个方法:Len、Swap、Less,我觉得 drakeet 还需要学习一下这类知识,比如学习 C++
其实真正需要的只有一个方法:比较相邻项目大小的方法 cmp,在 Ruby 里叫
其实真正需要的只有一个方法:比较相邻项目大小的方法 cmp,在 Ruby 里叫
<=> 也被称为 'spaceship'(1..10).sort { |a, b| b <=> a } #=> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]Forwarded from dnaugsuz
如果一定要基于优先级还可以尝试映射列表,然后让排序算法去排序映射过的列表
创建一个新列表,0 代表第一个没有固定的位置、1 代表第二个,以此类推
把它送去排序,然后再拿回来修改列表就可以获得目标已排序列表了
[9, 1, 2, 5, 3, 4] 中 9 和 5 被固定了
创建一个新列表,0 代表第一个没有固定的位置、1 代表第二个,以此类推
把它送去排序,然后再拿回来修改列表就可以获得目标已排序列表了
duangsues.is_a? SaltedFish
tips 其实我觉得光允许用户修改优先级也不错,毕竟列表也不总在增加或删除项目
有时感觉所谓完全固定位置不过也是优先级排列… 因为要容错啊
Forwarded from Drakeet
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
Drakeet
5 没有被手动排序过,5 排在 1 前面,4 被手动排序过,4 也在 1 前面,但 5 和 4 却无法得出谁在谁前
后来我才知道其实他是这么想的,
他根本没有看到我说的 “对于剩下的位置”
他是对于顺序,我是对于位置,一个是基于数学的逻辑一个是基于选择排序算法的逻辑…
他根本没有看到我说的 “对于剩下的位置”
他是对于顺序,我是对于位置,一个是基于数学的逻辑一个是基于选择排序算法的逻辑…
我当时说 4 应该排第一
他想 5 应该排在 1 前面
4 也在 1 前面
我的意思是 4 被固定了,因为剩下的 5 最大,所以 5 排第二
而他可能没有注意到这个
他想 5 应该排在 1 前面
4 也在 1 前面
我的意思是 4 被固定了,因为剩下的 5 最大,所以 5 排第二
而他可能没有注意到这个
Forwarded from Drakeet
我无意再为 Sketch 说什么好话,它很优秀,但和我一点关系都没有,所以这个话题终结好了
Forwarded from Drakeet
GeekApk 都不知道有 Sketch 的存在,所以放心,这个团队应该不会有人用 Sketch