第四周-项目3 - 单链表应用(3)判断递增
2015-09-22 16:56
239 查看
问题及代码:
利用项目一的算法库实现,这里只给出除算法库之外的代码。
/*
*Copyright(c)2015,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:789.cpp
*作者:程昂
*完成日期;2015年9月22日
*版本号;v1.0
*
*问题描述:设计一个算法,判断单链表L是否是递增的。.
*程序输出:无
*/
#include <stdio.h>
#include <malloc.h>
#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;
}
输出及结果:
分析:
通过新建指针指向当前节点的后一个节点进行比较
利用项目一的算法库实现,这里只给出除算法库之外的代码。
/*
*Copyright(c)2015,烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:789.cpp
*作者:程昂
*完成日期;2015年9月22日
*版本号;v1.0
*
*问题描述:设计一个算法,判断单链表L是否是递增的。.
*程序输出:无
*/
#include <stdio.h>
#include <malloc.h>
#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;
}
输出及结果:
分析:
通过新建指针指向当前节点的后一个节点进行比较
相关文章推荐
- 100 个最佳 Ubuntu 应用(中)
- 在 AppImage、Flathub 和 Snapcraft 平台上搜索 Linux 应用
- 24 个必备的 Linux 应用程序
- 注册表趣味应用小集
- 远程控制技术的应用
- 动易2006序列号破解算法公布
- 路由器访问列表的应用
- xDSL技术及其应用
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- 基于XML的桌面应用
- SQL Server 2008 R2 应用及多服务器管理
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- C#定义并实现单链表实例解析
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- c语言实现的带通配符匹配算法