Skip to content

Commit a656e25

Browse files
committed
Text and code tweaks
1 parent b791a4f commit a656e25

File tree

12 files changed

+704
-708
lines changed

12 files changed

+704
-708
lines changed

Ordered Set/OrderedSet.playground/Contents.swift

Lines changed: 0 additions & 256 deletions
This file was deleted.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//: # Example 1 with type Int
2+
3+
var mySet = OrderedSet<Int>()
4+
5+
// Insert random numbers into the set
6+
for _ in 0..<50 {
7+
mySet.insert(random(50, max: 500))
8+
}
9+
10+
print(mySet)
11+
12+
print("\nMaximum:")
13+
print(mySet.max())
14+
15+
print("\nMinimum:")
16+
print(mySet.min())
17+
18+
// Print the 5 largest values
19+
print("\n5 Largest:")
20+
for k in 1...5 {
21+
print(mySet.kLargest(k))
22+
}
23+
24+
// Print the 5 lowest values
25+
print("\n5 Smallest:")
26+
for k in 1...5 {
27+
print(mySet.kSmallest(k))
28+
}
29+
30+
//: [Next](@next)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//: [Previous](@previous)
2+
3+
//: # Example 2 with Player objects
4+
5+
var playerSet = OrderedSet<Player>()
6+
7+
// Populate the set with random players.
8+
for _ in 0..<20 {
9+
playerSet.insert(Player())
10+
}
11+
12+
// We'll look for this player later.
13+
var anotherPlayer = Player()
14+
playerSet.insert(anotherPlayer)
15+
16+
// Print all players in order from highest points to lowest points.
17+
// (Note: this is the reverse order of how they are stored in the set!)
18+
print(playerSet)
19+
//debugPrint(playerSet)
20+
21+
// Highest and lowest players:
22+
print(playerSet.max())
23+
print(playerSet.min())
24+
25+
// We'll find our player now:
26+
let level = playerSet.count - playerSet.indexOf(anotherPlayer)!
27+
print("\(anotherPlayer.name) is ranked at level \(level) with \(anotherPlayer.points) points")
28+
29+
//: [Next](@next)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//: [Previous](@previous)
2+
3+
//: # Example 3: multiple entries with the same value
4+
5+
var repeatedSet = OrderedSet<Player>()
6+
7+
repeatedSet.insert(Player(name: "Player 1", points: 100))
8+
repeatedSet.insert(Player(name: "Player 2", points: 100))
9+
repeatedSet.insert(Player(name: "Player 3", points: 100))
10+
repeatedSet.insert(Player(name: "Player 4", points: 100))
11+
repeatedSet.insert(Player(name: "Player 5", points: 100))
12+
repeatedSet.insert(Player(name: "Player 6", points: 50))
13+
repeatedSet.insert(Player(name: "Player 7", points: 200))
14+
repeatedSet.insert(Player(name: "Player 8", points: 250))
15+
repeatedSet.insert(Player(name: "Player 9", points: 25))
16+
17+
print(repeatedSet)
18+
//debugPrint(repeatedSet)
19+
20+
print(repeatedSet.indexOf(Player(name: "Player 5", points: 100)))
21+
print(repeatedSet.indexOf(Player(name: "Random Player", points: 100)))
22+
print(repeatedSet.indexOf(Player(name: "Player 5", points: 1000)))

0 commit comments

Comments
 (0)