给定一个数组[0,2,0,2],请用c#将这个数组里面的0移动到数组尾部,将其他元素依次前排
时间: 2024-03-25 14:39:35 浏览: 26
您可以使用C#中的foreach语法来遍历数组,将非零元素依次向前排列,然后将剩余的位置填充为0。以下是一个示例代码:
```csharp
int[] arr = { 0, 2, 0, 2 };
List<int> nonZeroList = new List<int>();
foreach (int num in arr)
{
if (num != 0)
{
nonZeroList.Add(num);
}
}
for (int i = 0; i < nonZeroList.Count; i++)
{
arr[i] = nonZeroList[i];
}
for (int i = nonZeroList.Count; i < arr.Length; i++)
{
arr[i] = 0;
}
// arr中的元素为: { 2, 2, 0, 0 }
```
在上面的代码中,我们使用foreach语法遍历整个数组,将非零元素添加到一个List<int>对象中。然后,我们将这些非零元素依次复制到数组的前面位置,最后将数组剩余的位置填充为0。
相关问题
给定一个n个元素的一维数组,将下标从0到p的元素全部平移到数组尾部
要将下标从0到p的元素全部平移到数组尾部,可以使用一个临时数组来辅助操作。
首先,将原数组中下标为p+1到n-1的元素依次复制到临时数组的前半部分。
然后,将原数组中下标为0到p的元素依次复制到临时数组的后半部分。
最后,将临时数组中的元素逐个复制回原数组中。
示例代码如下:
```python
def move_elements(array, p):
n = len(array)
temp_array = [0] * n # 创建临时数组
# 复制从p+1到n-1的元素到临时数组的前半部分
for i in range(p+1, n):
temp_array[i-p-1] = array[i]
# 复制从0到p的元素到临时数组的后半部分
for i in range(p+1):
temp_array[i+p+1] = array[i]
# 将临时数组中的元素复制回原数组
for i in range(n):
array[i] = temp_array[i]
return array
# 测试
array = [1, 2, 3, 4, 5, 6, 7, 8]
p = 3
result = move_elements(array, p)
print(result)
# 输出:[5, 6, 7, 8, 1, 2, 3, 4]
```
以上就是将下标从0到p的元素全部平移到数组尾部的方法。
给定一个数组,将所有非零元素向右移动,将最后一个元素变为0,python
代码如下:
```python
def move_zeros(nums):
# 定义两个指针,一个指向当前非零元素应该存放的位置,一个指向当前遍历的位置
non_zero_index = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[non_zero_index] = nums[i]
non_zero_index += 1
# 将非零元素存放完毕后,将后面的元素全部变为0
for i in range(non_zero_index, len(nums)):
nums[i] = 0
return nums
# 测试
print(move_zeros([0,1,0,3,12])) # 输出 [1, 3, 12, 0, 0]
```
解释:
第一次遍历数组,将所有非零元素移动到数组的前面,同时记录当前非零元素应该存放的位置。第二次遍历将剩余的元素全部变为0。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)