链式堆栈的基本操作
时间: 2023-07-06 14:12:57 浏览: 60
链式堆栈(Linked Stack)是使用链表实现的一种堆栈数据结构,其基本操作包括:
1. 初始化:创建一个空链式堆栈。
2. 判空:判断链式堆栈是否为空。
3. 进栈:在链式堆栈的栈顶插入一个新元素。
4. 出栈:从链式堆栈的栈顶删除一个元素。
5. 取栈顶元素:返回链式堆栈的栈顶元素,但不删除该元素。
下面是链式堆栈的基本操作的详细说明:
1. 初始化:创建一个空链式堆栈。
```
struct Node {
int data;
Node *next;
};
Node *init() {
Node *head = new Node;
head->next = NULL;
return head;
}
```
2. 判空:判断链式堆栈是否为空。
```
bool isEmpty(Node *head) {
return head->next == NULL;
}
```
3. 进栈:在链式堆栈的栈顶插入一个新元素。
```
void push(Node *head, int x) {
Node *newNode = new Node;
newNode->data = x;
newNode->next = head->next;
head->next = newNode;
}
```
4. 出栈:从链式堆栈的栈顶删除一个元素。
```
void pop(Node *head) {
if (!isEmpty(head)) {
Node *temp = head->next;
head->next = temp->next;
delete temp;
}
}
```
5. 取栈顶元素:返回链式堆栈的栈顶元素,但不删除该元素。
```
int top(Node *head) {
if (!isEmpty(head)) {
return head->next->data;
}
}
```
注意,在使用链式堆栈时,需要先调用初始化函数创建一个空链式堆栈。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)