第4周项目3-单链表应用(3)
2015-09-26 15:28
267 查看
问题:
架构:
(程序中利用了已经实现的单链表算法,头文件linklist.h及其中函数linklist.cpp的实现见单链表算法库)
main.cpp测试文件代码:
运行结果:
知识点总结:
单链表应用——判断递增。
学习心得:
通过一个if语句,判断前后两个节点的大小,来实现这个项目,感觉非常的巧妙。
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:项目3.cbp *作 者:王聪 *完成日期:2015年9月26日 *版 本 号:v1.0 * *问题描述:设计一个算法,判断单链表L是否是递增的。实现这个算法,并完成测试。 *输入描述:无 *程序输出:判定结果 */
架构:
(程序中利用了已经实现的单链表算法,头文件linklist.h及其中函数linklist.cpp的实现见单链表算法库)
main.cpp测试文件代码:
#include "linklist.h" bool increase(LinkList *L) { LinkList *p = L->next, *q; //p指向第1个数据节点 if(p != NULL) { while(p->next != NULL) { q = p->next; //q是p的后继 if (q->data > p->data) //只要是递增的,就继续考察其后继 p = q; else return false; //只要有一个不是后继大于前驱,便不是递增 } } return true; } int main() { LinkList *A, *B; int i; ElemType a[]= {1, 3, 2, 9}; ElemType b[]= {0, 4, 5 ,6, 7, 8}; InitList(A); for(i=3; i>=0; i--) ListInsert(A, 1, a[i]); InitList(B); for(i=5; i>=0; i--) ListInsert(B, 1, b[i]); printf("A: %c\n", increase(A)?'Y':'N'); printf("B: %c\n", increase(B)?'Y':'N'); DestroyList(A); DestroyList(B); return 0; }
运行结果:
知识点总结:
单链表应用——判断递增。
学习心得:
通过一个if语句,判断前后两个节点的大小,来实现这个项目,感觉非常的巧妙。
相关文章推荐
- 汉澳sinox奇门遁甲--做周易预测大师软件发布,可以免费下载
- Win7系统安装显卡驱动后电脑一直重启的故障分析及解决方法
- 什么是嵌入式,学习嵌入的基本要求
- 黑马程序员—输出函数printf和出入函数scanf
- JavaScript高级程序设计之变量、作用域和内存问题之基本类型和引用类型的值第4.1讲笔记
- 【Android】读《第一行代码》笔记总结
- ServletContext练习
- hibernate4.3.5需要的jar包
- 【Java】hashMap和hashTable的区别
- 使用 python3 环境开发。
- 《深入理解java虚拟机》之垃圾回收
- 网店刷收藏会不会被降权
- Semantic matching & Semantic correlation matching
- IP网际协议
- Implicit declaration of function 'NSFileTypeForHFSTypeCode' is invalid in C99
- 2014-2015:被项目“折磨”的一年
- linux下mysql yum 安装 新建用户 设置权限
- .net 开源组件推荐 之 StackExchange
- 大道至简第二章读后感
- C#基于UDP实现的P2P语音聊天工具