如何对包含子列表的列表进行排序
对颜色列表进行排序。
如果两种颜色的红色值相同,则绿色值较小的颜色在排序中首先出现。如果两种颜色具有相同的红色和绿色值,则蓝色值较小的颜色在排序中首先出现。
示例:让颜色列表为
((72 75 0) (0 0 10) (255 255 255) (0 10 10) (0 10 8)(50 100 255))
然后程序将返回
((0 0 10) (0 10 8) (0 10 10) (50 100 255) (72 75 0) (255 255 255))
Sorting a list of Colors.
If two colors’ red values are the same, then the one with smaller green value appears first in the ordering. If two colors have the same red and green value, then the one with smaller blue value appears first in the ordering.
Example: let the color list be
((72 75 0) (0 0 10) (255 255 255) (0 10 10) (0 10 8)(50 100 255))
Then the procedure would return
((0 0 10) (0 10 8) (0 10 10) (50 100 255) (72 75 0) (255 255 255))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该为排序编写一个自定义比较器:
然后您可以将此函数传递给
sort
过程。诡计:
Chez计划:
You should write a custom comparator for sort:
Then you can just pass this function to the
sort
procedure.Guile:
Chez Scheme: