mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-24 04:06:28 +08:00
Add kotlin code block for chapter array and linkedlist (#1179)
* add kotlin code block for chapter_array_and_linkedlist. * modified comment. * Update list.md * Update linked_list.md * fix some indentation. * fix incorrect display
This commit is contained in:
parent
1c8359129f
commit
82a7dc9dcc
2 changed files with 63 additions and 7 deletions
|
@ -162,7 +162,12 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title=""
|
||||
|
||||
/* 链表节点类 */
|
||||
// 构造方法
|
||||
class ListNode(x: Int) {
|
||||
val `val`: Int = x // 节点值
|
||||
val next: ListNode? = null // 指向下一个节点的引用
|
||||
}
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -382,7 +387,18 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="linked_list.kt"
|
||||
|
||||
/* 初始化链表 1 -> 3 -> 2 -> 5 -> 4 */
|
||||
// 初始化各个节点
|
||||
val n0 = ListNode(1)
|
||||
val n1 = ListNode(3)
|
||||
val n2 = ListNode(2)
|
||||
val n3 = ListNode(5)
|
||||
val n4 = ListNode(4)
|
||||
// 构建节点之间的引用
|
||||
n0.next = n1;
|
||||
n1.next = n2;
|
||||
n2.next = n3;
|
||||
n3.next = n4;
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -643,7 +659,13 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title=""
|
||||
|
||||
/* 双向链表节点类 */
|
||||
// 构造方法
|
||||
class ListNode(x: Int) {
|
||||
val `val`: Int = x // 节点值
|
||||
val next: ListNode? = null // 指向后继节点的引用
|
||||
val prev: ListNode? = null // 指向前驱节点的引用
|
||||
}
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
|
|
@ -129,7 +129,12 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="list.kt"
|
||||
|
||||
/* 初始化列表 */
|
||||
// 无初始值
|
||||
var nums1 = listOf<Int>()
|
||||
// 有初始值
|
||||
var numbers = arrayOf(1, 3, 2, 5, 4)
|
||||
var nums = numbers.toMutableList()
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -257,7 +262,10 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="list.kt"
|
||||
|
||||
/* 访问元素 */
|
||||
val num = nums[1] // 访问索引 1 处的元素
|
||||
/* 更新元素 */
|
||||
nums[1] = 0 // 将索引 1 处的元素更新为 0
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -487,7 +495,21 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="list.kt"
|
||||
/* 清空列表 */
|
||||
nums.clear();
|
||||
|
||||
/* 在尾部添加元素 */
|
||||
nums.add(1);
|
||||
nums.add(3);
|
||||
nums.add(2);
|
||||
nums.add(5);
|
||||
nums.add(4);
|
||||
|
||||
/* 在中间插入元素 */
|
||||
nums.add(3, 6); // 在索引 3 处插入数字 6
|
||||
|
||||
/* 删除元素 */
|
||||
nums.remove(3); // 删除索引 3 处的元素
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -683,7 +705,16 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="list.kt"
|
||||
/* 通过索引遍历列表 */
|
||||
var count = 0
|
||||
for (i in nums.indices) {
|
||||
count += nums[i]
|
||||
}
|
||||
|
||||
/* 直接遍历列表元素 */
|
||||
for (num in nums) {
|
||||
count += num
|
||||
}
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -801,7 +832,9 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="list.kt"
|
||||
|
||||
/* 拼接两个列表 */
|
||||
val nums1 = intArrayOf(6, 8, 7, 10, 9).toMutableList()
|
||||
nums.addAll(nums1) // 将列表 nums1 拼接到 nums 之后
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
@ -901,7 +934,8 @@
|
|||
=== "Kotlin"
|
||||
|
||||
```kotlin title="list.kt"
|
||||
|
||||
/* 排序列表 */
|
||||
nums.sort() // 排序后,列表元素从小到大排列
|
||||
```
|
||||
|
||||
=== "Zig"
|
||||
|
|
Loading…
Reference in a new issue