50\40\30\20\70\80\60 奇数:后序遍历 偶数:先序遍历 学号7整除:中序遍历 删除30以后
时间: 2023-09-04 16:17:09 浏览: 58
先序遍历:50 40 30 20 70 80 60
后序遍历:20 30 40 60 80 70 50
中序遍历:50 40 20 70 80 60
删除30以后,得到新树为:
```
50
/ \
40 70
\ \
20 80
/
60
```
中序遍历为:50 40 70 20 80 60
相关问题
point数组遍历,奇数行从左往右遍历,偶数行从右往左遍历,用C#怎么实现
语言描述算法实现可以是这样的:
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));
}
}
```
jQuery 遍历中的:
在 jQuery 遍历中,冒号(:)是一种特殊的选择器语法,用于指定更精确的选择器条件。以下是一些常用的冒号选择器:
1. :first:选择第一个匹配的元素。
2. :last:选择最后一个匹配的元素。
3. :even:选择所有偶数索引的元素,索引从0开始计数。
4. :odd:选择所有奇数索引的元素,索引从0开始计数。
5. :eq(index):选择指定索引位置的元素,索引从0开始计数。
6. :gt(index):选择索引大于指定值的元素,索引从0开始计数。
7. :lt(index):选择索引小于指定值的元素,索引从0开始计数。
8. :not(selector):选择不匹配指定选择器的元素。
例如:
```
// 选择第一个class为box的元素
$(".box:first");
// 选择最后一个class为box的元素
$(".box:last");
// 选择所有偶数索引的class为box的元素
$(".box:even");
// 选择所有奇数索引的class为box的元素
$(".box:odd");
// 选择第二个class为box的元素
$(".box:eq(1)");
// 选择索引大于2的class为box的元素
$(".box:gt(2)");
// 选择索引小于2的class为box的元素
$(".box:lt(2)");
// 选择不包含class为box的元素
$(":not(.box)");
```
除了上述常用的冒号选择器外,还有很多其他的冒号选择器,可以根据具体需要进行选择。