画出具有3个元素(A,B,C)的带头结点的单链表;若有栈入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D第二个出栈)的次序有哪几个?
时间: 2023-10-04 12:03:16 浏览: 95
带头结点单链表基本操作.doc
以下是具有 3 个元素的带头结点的单链表的示意图:
```
head -> A -> B -> C -> NULL
```
对于栈入栈次序为 A、B、C、D、E,满足元素 C、D 最先出栈的次序有以下两个:
1. C、D、E、B、A
2. C、D、B、E、A
其中,对于第一个次序,操作过程如下:
1. 将 A 元素入栈
2. 将 B 元素入栈
3. 将 C 元素入栈
4. 将 D 元素入栈
5. 将 D 元素出栈
6. 将 C 元素出栈
7. 将 E 元素入栈
8. 将 B 元素出栈
9. 将 E 元素出栈
10. 将 A 元素出栈
对于第二个次序,操作过程如下:
1. 将 A 元素入栈
2. 将 B 元素入栈
3. 将 C 元素入栈
4. 将 D 元素入栈
5. 将 D 元素出栈
6. 将 C 元素出栈
7. 将 E 元素入栈
8. 将 E 元素出栈
9. 将 B 元素出栈
10. 将 A 元素出栈
因此,满足元素 C、D 最先出栈的次序有以上两个。
阅读全文