数据结构pop函数代码实现
时间: 2024-06-14 18:02:34 浏览: 6
数据结构中的`pop`函数通常用于从栈顶(或末尾)删除并返回一个元素。这个操作在不同的数据结构中有不同的实现方式,例如数组、链表和动态数组(如许多编程语言中的列表)。
**1. 数组实现(固定大小):**
```c++
int popArrayStack(int stack[], int size) {
if (size == 0) return -1; // 如果栈空则返回错误
return stack[--size]; // 返回栈顶元素,然后缩小栈的大小
}
```
**2. 动态数组(如Python的list):**
```python
def pop_dynamic_array(array):
if not array: return None
return array.pop() # Python中list的pop()方法会自动减少数组长度
```
**3. 链表(双向链表):**
```cpp
struct Node {
int value;
Node* next;
Node* prev;
};
Node* pop DoublyLinkedList(Node* &head) {
if (!head) return nullptr;
Node* temp = head;
head = head->next; // 更新头节点为下一个元素
temp->prev->next = nullptr; // 断开前一个节点与当前节点的链接
delete temp; // 释放当前节点内存
return head;
}
```
**
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)