链表——逆置
2016-05-02 19:49
183 查看
给定程序中,函数fun的功能是将带头结点的单向链表逆置,即若原链表中从头至尾结点数据与依次为2、4、6、8、10,逆置后,从头至尾结点数据依次为10、8、6、4、2。
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
试题程序。
答案:
2 NULL
3 r
请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
试题程序。
#define N 5 typedef struct node { int data; struct node *next; } NODE; void fun(NODE *h) { NODE *p, *q, *r; p = h-> 1 ; if (p == 2 ) return; q = p->next; p->next = NULL; while (q) { r = q->next; q->next = p; p = q; q = 3 ); } h->next = p; } NODE *creatlist(int a[ ]) { NODE *h, *p, *q; int i; h = (NODE *)malloc(sizeof(NODE)); h->next = NULL; for (i = 0; i < N; i++) { q = (NODE *)malloc(sizeof(NODE)); q->data = a[i]; p->next = q; p = q; } } return h; } void outlist(NODE *h) { NODE *p; p = h->next; if (p == NULL) printf("The list is NULL!\n"); else { printf("\nHead "); do { printf("->%d", p->data); p = p->next; } while (p != NULL); printf("->End\n"); } } main( ) { NODE *head; int a = {2, 4, 6, 8, 10}; head = creatlist(a); printf("\nThe original list:\n"); outlist(head); fun(head); printf("\nThe list after inverting :\n"); outlist(head); }
答案:
你的答案 (正确)
1 next2 NULL
3 r
相关文章推荐
- [kuangbin带你飞]专题一 简单搜索 -I - Fire Game
- 网络编程--初识Volley之Request的使用
- php实现快速排序
- 【Android--Binder】关于通信机制之Binder机制(上)
- 关于网络子网的划分
- <canvas>学习笔记——translate()
- js中转换布局格式为绝对定位
- Spring 4 整合 Hibernate 5 技术
- Programming with Objective-C(四)
- springmvc mybatis redis mysql maven搭建基本开发框架 (三)
- Centos7下源码安装Mysql5.7
- MySQL数据中文设置
- java正则表达式详解(匹配、切割和替换)
- 我的目标是全栈开发!学习记录贴——目录
- 异常处理
- 多态与抽象
- 判定表
- 青蛙总动员
- HDU-1041-Computer Transformation,大数递推,水过~~
- 通过MultipleOutputs写到多个文件