剑指offer--面试题6:从头到尾打印链表
来源:互联网 发布:南瑞信通 知乎 编辑:程序博客网 时间:2024/05/22 02:07
#include<stdio.h>#include<malloc.h> #include<stack>using namespace std;typedef struct LNode{ int data; struct LNode *next;}*LinkList;LinkList Create_List_Tail(int length){//建立链表LNode *L,*s,*r; //L指向头结点,r指向尾结点,s指向新添加结点L=(LinkList)malloc(sizeof(LNode));L->next =NULL;//头结点L->data不存东西r=L;for(int i=0;i<length;++i){s=(LinkList)malloc(sizeof(LNode));scanf("%d",&s->data);r->next =s;r =s;}r->next =NULL;return L; //返回链表}/* 用栈实现从尾到头打印单链表 */void Reverse_1(LinkList L){stack<int> s; LNode *p = L->next; while( L!=NULL &&p != NULL) //入栈 { s.push(p->data); p = p->next; } while(! s.empty()) //出栈 { printf("%d ",s.top()); s.pop(); } }/* 用递归实现从尾到头打印单链表 */void Reverse_2(LinkList L){ LNode *p=L->next; if(L!=NULL && p != NULL){Reverse_2(p); printf("%d ",p->data); }}int main(){int length;printf("表长:");scanf("%d",&length); LinkList L = Create_List_Tail(length);printf("栈方式实现:\n"); Reverse_1(L);printf("\n"); printf("递归方式实现:\n"); Reverse_2(L);printf("\n"); return 0;}
阅读全文
0 0
- 剑指offer--面试题6:从头到尾打印链表
- 【剑指offer】面试题6:从头到尾打印链表
- 《剑指Offer》面试题-从头到尾打印链表
- 《剑指offer》面试题5从头到尾打印链表
- 剑指offer面试题之从头到尾打印链表
- 剑指offer面试题5 从头到尾打印链表(c)
- 剑指offer面试题5 从头到尾打印链表(java)
- 面试题5 从头到尾打印链表
- 面试题5 从头到尾打印链表
- 面试题5:从头到尾打印链表
- 面试题5:从头到尾打印链表
- [剑指offer]从头到尾打印链表
- 剑指offer-5:从头到尾打印链表
- 剑指Offer-从头到尾打印链表
- 剑指offer—从头到尾打印链表
- 剑指Offer---从头到尾打印链表
- 牛客网-剑指offer-从头到尾打印链表
- 剑指offer 从头到尾打印链表
- POJ 2417 Discrete Logging 笔记
- mysql之外键约束
- NEW RULE FOR THE NEW ECONOMY
- svn 安装与使用
- 道歉信(我和小福的故事之六)
- 剑指offer--面试题6:从头到尾打印链表
- 10063---java多线程总结五:线程池的原理及实现
- jQuery -- touch事件详解(touchstart、touchmove和touchend)
- LeetCode-206. Reverse Linked List
- JavaWeb学习总结(五)——Servlet开发(一)
- JAVAWEB开发之——Linux命令总结
- 关于Spring中aop用aspect配置
- 石子归并 CSU
- verilog实现基于Cordic算法的双曲函数计算