删除元素递增排列的顺序表或链表l中值大于mink且小于maxk的所有元素。
时间: 2023-04-27 18:00:50 浏览: 109
这个操作可以分为两步:
1. 找到第一个大于等于mink的元素的位置i,从i开始遍历顺序表或链表,删除所有小于等于maxk的元素。
2. 如果顺序表或链表中没有大于等于mink的元素,则不需要进行第二步操作。
具体实现可以参考以下代码:
顺序表:
```python
def delete_elements(l, mink, maxk):
i =
while i < len(l) and l[i] < mink:
i += 1
j = i
while j < len(l) and l[j] <= maxk:
j += 1
del l[i:j]
```
链表:
```python
def delete_elements(head, mink, maxk):
prev = None
curr = head
while curr and curr.val < mink:
prev = curr
curr = curr.next
while curr and curr.val <= maxk:
if prev:
prev.next = curr.next
else:
head = curr.next
curr = curr.next
return head
```
其中,顺序表的删除操作使用了Python内置的`del`语句,而链表的删除操作需要注意更新前驱节点的`next`指针。
阅读全文