单链表的就地逆置 (单链表带头结点)(某公司校园招聘面试试题)
来源:互联网 发布:钉钉办公软件下载 编辑:程序博客网 时间:2024/05/08 05:27
面试某公司,被问此题,由于紧张,程序有误,甚为遗憾!下面给出正确的程序:
#include<iostream>using namespace std;typedef struct node{int data;struct node *next;}Node, *List;List createList(){Node *head, *p1, *p2;p1 = p2 = head = new Node;int num;cin >> num;while(-1 != num){p1 = new Node; p1->data = num;p2->next = p1;p2 = p1;cin >> num;}p2->next = NULL;return head;}void printList(List p){while(NULL != p->next){cout << p->next->data << " ";p = p->next;}cout << endl;}void releaseList(List p){if(NULL == p->next)delete p;else{releaseList(p->next);delete p;}}List reverseList(List p){//让p1和p2都指向第一个结点Node *p1 = p->next;Node *p2 = p1;p->next = NULL;//分离p与p1while(NULL != p1){p2 = p1;p1 = p1->next; //在"摘下" p2时,千万记得先进行p1 = p1->next;//倒插法重建链表p2->next = p->next;p->next = p2;}return p;}int main(){List head = createList();printList(head);reverseList(head);printList(head);releaseList(head);return 0;}
- 单链表的就地逆置 (单链表带头结点)(某公司校园招聘面试试题)
- 字符串的大小比较(某公司校园招聘面试试题)
- 利用循环链表(单链)实现Josephus环(某公司校园招聘笔试试题)
- 如何判断平面上两条线段(注意是线段)是否相交?(某公司校园招聘面试试题)
- 堆排序(某公司校园招聘面试题目)
- 单链表带头结点&不带头结点
- 单链表带头结点&不带头结点
- 单链表带头结点&不带头结点
- 求正整数数组构成的最小数(某公司2013年校园招聘笔试试题)
- PTA(数据结构)-带头结点的单链表就地逆置
- 带头结点的单链表就地逆置(10 分)
- A升杯子和B升的杯子如何倒出C升的水?(某公司校园招聘笔试试题,某另外公司校园招聘笔试试题)
- 带头结点的单链表就地逆置
- 带头结点单链表的就地逆置
- 就地逆置带头结点的单链表
- 带头结点的单链表就地逆置
- 带头结点的单链表就地逆置
- 带头结点的单链表就地逆置
- JavaMail:简单的邮件接收程序
- [ERROR] The service cannot be found for the endpoint reference (EPR) /axis2...
- webservice入门
- JavaMail:搜索、过滤接收邮件,删除邮件
- linux下练习 c++ 关联式容器map特性
- 单链表的就地逆置 (单链表带头结点)(某公司校园招聘面试试题)
- 图像库opencv在windows系统中配置总结
- (转)BeginPath&EndPath
- ubuntu快捷键设置大全 [转]
- android gone vs invisible 区别
- JavaMail:利用Tomcat和浏览器解析邮件内容
- django内置模板过滤器
- 关于指针的一种用法
- JavaMail:在Web应用下完整接收、解析复杂邮件