输入一个链表的头结点,从尾到头反过来打印出每个结点的值
2014-06-27 14:31
381 查看
#include <iostream> #include <string.h> #include <stdlib.h> #include <stack> using namespace std; struct Node { int data; struct Node* next; }; struct Node* create_list(int len) { if (len <= 0) return NULL; struct Node* head; struct Node* tmp; struct Node* pre; for (int i=0; i<len; i++) { if (i == 0) { head = tmp = new struct Node; cin >> tmp->data; tmp->next = NULL; pre = tmp; continue; } tmp = new struct Node; cin >> tmp->data; tmp->next = NULL; pre->next = tmp; pre = tmp; } return head; } void visit(const struct Node *head) { if (head == NULL) return; const struct Node *tmp; tmp = head; while (tmp) { cout << tmp->data; tmp = tmp->next; } } void free_list(struct Node *head) { if (head == NULL) return; struct Node *tmp; while (head) { tmp = head; head = head->next; delete tmp; } } int main() { struct Node *head = create_list(5); visit(head); cout << endl; stack<int> sts; struct Node* tmp = head; while (tmp) { sts.push(tmp->data); tmp = tmp->next; } while (sts.size() != 0) { cout << sts.top(); sts.pop(); } cout << endl; free_list(head); return 0; }
相关文章推荐
- 输入一个链表的头结点,从尾到头反过来打印出每个节点的值。
- 输入一个链表的头结点,从尾到头反过来打印每个节点的值。
- 输入一个链表的头结点,从尾到头反过来打印每个结点的值――5
- 输入一个链表的头结点,从尾到头反过来打印每个结点的值——5
- 输入一个链表的头结点,从尾到头反过来打印每个节点的值。
- 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值
- 输入一个链表的头结点,从尾到头反过来打印出每个节点的值
- 输入一个链表的头结点,从尾到头反过来打印每个节点的值。
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值。
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。