Update Sorting_Custom.md
This commit is contained in:
parent
78cc5471f1
commit
1f243cfa35
1 changed files with 4 additions and 1 deletions
|
@ -179,6 +179,7 @@ I don't recommend using arrays to represent objects mostly because it's confusin
|
|||
|
||||
<!-- Tested -->
|
||||
```py
|
||||
import random
|
||||
class Foo:
|
||||
def __init__(self, _Bar): self.Bar = _Bar
|
||||
def __str__(self): return "Foo({})".format(self.Bar)
|
||||
|
@ -204,6 +205,7 @@ Foo(0) Foo(1) Foo(1) Foo(2) Foo(5) Foo(5) Foo(8) Foo(9)
|
|||
- This method maps an object to another comparable datatype with which to be sorted. In this case, `Foo` is sorted by the sum of its members `x` and `y`.
|
||||
<!-- Tested -->
|
||||
```py
|
||||
import random
|
||||
class Foo:
|
||||
def __init__(self, _Bar, _Baz): self.Bar,self.Baz = _Bar,_Baz
|
||||
def __str__(self): return "Foo({},{})".format(self.Bar, self.Baz)
|
||||
|
@ -239,6 +241,7 @@ Note how the comparator must be converted to a `key`.
|
|||
<!-- Tested -->
|
||||
|
||||
```py
|
||||
import random
|
||||
from functools import cmp_to_key
|
||||
class Foo:
|
||||
def __init__(self, _Bar): self.Bar = _Bar
|
||||
|
@ -272,4 +275,4 @@ Foo(0) Foo(1) Foo(1) Foo(2) Foo(5) Foo(5) Foo(8) Foo(9)
|
|||
- Not a sorting problem, but you can use sorting to simulate gravity nicely.
|
||||
- Write a custom comparator (read below) which puts zeroes at the front and use `stable_sort` to keep the relative order of other elements the same.
|
||||
- [Meetings](http://www.usaco.org/index.php?page=viewproblem2&cpid=967)
|
||||
- hard!
|
||||
- hard!
|
||||
|
|
Reference in a new issue