point数组遍历,奇数行从左往右遍历,偶数行从右往左遍历,用C#怎么实现
时间: 2024-05-02 08:19:44 浏览: 80
语言描述算法实现可以是这样的:
1. 定义一个变量row用来存储当前遍历到的行数,初始值为0。
2. 遍历point数组,遍历顺序为从上到下、从左到右。
3. 遍历每一行时,判断当前行是否为奇数行,如果是,则从左向右遍历,否则从右向左遍历。
4. 在遍历每个元素时,对于奇数行,按照当前列的顺序存储在一个临时数组tempArr中;对于偶数行,按照倒序存储在tempArr中。
5. 遍历完成后,将tempArr中存储的元素按照顺序拷贝回原数组中。
下面是代码实现:
```
int rows = sizeof(point) / sizeof(point[0]); // 数组长度
int cols = sizeof(point[0]) / sizeof(int); // 数组宽度
// 循环遍历数组
for (int i = 0; i < rows; i++) {
int row = i; // 当前行数
if (row % 2 == 0) { // 偶数行,从右向左遍历
int tempArr[cols]; // 临时存储当前行的数据
for (int j = cols - 1; j >= 0; j--) {
tempArr[j] = point[row][j];
}
// 将临时数组中的元素拷贝回原数组中
memcpy(point[row], tempArr, cols * sizeof(int));
} else { // 奇数行,从左向右遍历
int tempArr[cols];
for (int j = 0; j < cols; j++) {
tempArr[j] = point[row][j];
}
memcpy(point[row], tempArr, cols * sizeof(int));
}
}
```
阅读全文