How do I implement Comparable and custom sorting?

In Swift, you can implement the `Comparable` protocol to enable custom sorting of your data types. By conforming to `Comparable`, you can define how instances of the type are compared to each other, allowing for straightforward sorting using standard functions like `sorted()`.

Example of Implementing Comparable

Here's a simple example where we create a `Person` struct and implement the `Comparable` protocol to sort by age:

struct Person: Comparable { let name: String let age: Int static func < (lhs: Person, rhs: Person) -> Bool { return lhs.age < rhs.age } static func == (lhs: Person, rhs: Person) -> Bool { return lhs.age == rhs.age && lhs.name == rhs.name } } let people = [Person(name: "Alice", age: 30), Person(name: "Bob", age: 25), Person(name: "Charlie", age: 35)] let sortedPeople = people.sorted() print(sortedPeople)

Swift Comparable custom sorting Swift programming sorting algorithms