This commit is contained in:
krahets
2024-04-11 01:11:20 +08:00
parent a6adc8e20a
commit 739f8a31bb
85 changed files with 1555 additions and 979 deletions

View File

@ -1543,7 +1543,7 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
/* 键值对 */
class Pair(
var key: Int,
var value: String
var _val: String
)
/* 基于数组实现的哈希表 */
@ -1561,12 +1561,12 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
fun get(key: Int): String? {
val index = hashFunc(key)
val pair = buckets[index] ?: return null
return pair.value
return pair._val
}
/* 添加操作 */
fun put(key: Int, value: String) {
val pair = Pair(key, value)
fun put(key: Int, _val: String) {
val pair = Pair(key, _val)
val index = hashFunc(key)
buckets[index] = pair
}
@ -1602,7 +1602,7 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
fun valueSet(): MutableList<String> {
val valueSet = mutableListOf<String>()
for (pair in buckets) {
pair?.let { valueSet.add(it.value) }
pair?.let { valueSet.add(it._val) }
}
return valueSet
}
@ -1611,8 +1611,8 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
fun print() {
for (kv in pairSet()) {
val key = kv.key
val value = kv.value
println("${key} -> ${value}")
val _val = kv._val
println("${key} -> ${_val}")
}
}
}
@ -1632,12 +1632,12 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
fun get(key: Int): String? {
val index = hashFunc(key)
val pair = buckets[index] ?: return null
return pair.value
return pair._val
}
/* 添加操作 */
fun put(key: Int, value: String) {
val pair = Pair(key, value)
fun put(key: Int, _val: String) {
val pair = Pair(key, _val)
val index = hashFunc(key)
buckets[index] = pair
}
@ -1673,7 +1673,7 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
fun valueSet(): MutableList<String> {
val valueSet = mutableListOf<String>()
for (pair in buckets) {
pair?.let { valueSet.add(it.value) }
pair?.let { valueSet.add(it._val) }
}
return valueSet
}
@ -1682,8 +1682,8 @@ The following code implements a simple hash table. Here, we encapsulate `key` an
fun print() {
for (kv in pairSet()) {
val key = kv.key
val value = kv.value
println("${key} -> ${value}")
val _val = kv._val
println("${key} -> ${_val}")
}
}
}