/* 在数组的索引 index 处插入元素 num */ voidinsert(int *nums, int size, int num, int index) { // 把索引 index 以及之后的所有元素向后移动一位 for (int i = size - 1; i > index; i--) { nums[i] = nums[i - 1]; } // 将 num 赋给 index 处的元素 nums[index] = num; }
1 2 3 4 5 6 7 8 9
/* 在数组的索引 index 处插入元素 num */ voidinsert(int *nums, int size, int num, int index){ // 把索引 index 以及之后的所有元素向后移动一位 for (int i = size - 1; i > index; i--) { nums[i] = nums[i - 1]; } // 将 num 赋给 index 处的元素 nums[index] = num; }
1.4 删除元素
同理,若想删除索引 $i$ 处的元素,则需要把索引 $i$ 之后的元素都向前移动一位。
1 2 3 4 5 6 7 8
/* 删除索引 index 处的元素 */ // 注意:stdio.h 占用了 remove 关键词 voidremoveItem(int *nums, int size, int index) { // 把索引 index 之后的所有元素向前移动一位 for (int i = index; i < size - 1; i++) { nums[i] = nums[i + 1]; } }
1 2 3 4 5 6 7
/* 删除索引 index 处的元素 */ voidremove(int *nums, int size, int index){ // 把索引 index 之后的所有元素向前移动一位 for (int i = index; i < size - 1; i++) { nums[i] = nums[i + 1]; } }