This commit is contained in:
krahets
2023-06-02 15:07:33 +08:00
parent ab9c107bb7
commit dbdd9551e6
16 changed files with 328 additions and 31 deletions

View File

@@ -101,7 +101,9 @@ comments: true
=== "Dart"
```dart title="array.dart"
/* 初始化数组 */
List<int> arr = List.filled(5, 0); // [0, 0, 0, 0, 0]
List<int> nums = [1, 3, 2, 5, 4];
```
## 4.1.1. &nbsp; 数组优点
@@ -258,9 +260,9 @@ elementAddr = firtstElementAddr + elementLength * elementIndex
=== "Dart"
```dart title="array.dart"
/* 随机返回一个 数组元素 */
/* 随机返回一个数组元素 */
int randomAccess(List nums) {
// 在区间[0,size) 中随机抽取一个数字
// 在区间 [0, nums.length) 中随机抽取一个数字
int randomIndex = Random().nextInt(nums.length);
// 获取并返回随机元素
int randomNum = nums[randomIndex];
@@ -444,9 +446,8 @@ elementAddr = firtstElementAddr + elementLength * elementIndex
```dart title="array.dart"
/* 扩展数组长度 */
List extend(List nums, int enlarge) {
// 初始化一个扩展长度后的数组元素初始值为0
// 初始化一个扩展长度后的数组
List<int> res = List.filled(nums.length + enlarge, 0);
// 将原数组中的所有元素复制到新数组
for (var i = 0; i < nums.length; i++) {
res[i] = nums[i];
@@ -606,7 +607,7 @@ elementAddr = firtstElementAddr + elementLength * elementIndex
```dart title="array.dart"
/* 在数组的索引 index 处插入元素 num */
void insert(List nums, int num, int index) {
// 把索引index以及之后的所有元素向后移动一位
// 把索引 index 以及之后的所有元素向后移动一位
for (var i = nums.length - 1; i > index; i--) {
nums[i] = nums[i - 1];
}
@@ -747,6 +748,7 @@ elementAddr = firtstElementAddr + elementLength * elementIndex
```dart title="array.dart"
/* 删除索引 index 处元素 */
void remove(List nums, int index) {
// 把索引 index 之后的所有元素向前移动一位
for (var i = index; i < nums.length - 1; i++) {
nums[i] = nums[i + 1];
}
@@ -942,7 +944,7 @@ elementAddr = firtstElementAddr + elementLength * elementIndex
for (var num in nums) {
count++;
}
// 通过forEach方法遍历数组
// 通过 forEach 方法遍历数组
nums.forEach((element) {
count++;
});