第四周项目3--单链表应用3

问题及代码:

/*  
* Copyright (c)2016,烟台大学计算机与控制工程学院  
* All rights reserved.  
* 文件名称:项目3.cpp  
* 作    者:陈哲 
* 完成日期:2016年9月22日  
* 版 本 号:v1.0   
*问题描述:设计一个算法,判断单链表L是否是递增的。实现这个算法,并完成测试。  
*输入描述:无  
*程序输出:判断结果 
*/    

linklist.h和linklist.cpp详见第四周项目2--单链表算法库


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;  
  
  
}


运行结果:



知识点总结:

递归数值比较,比较前驱和后继的大小。

学习心得:

运用了新的函数bool函数,了解了一些新样式的代码。


  



Cortex-M3是一种32位的嵌入式微控制器,具有高性能和低功耗的特点。单链表是一种常用的数据结构,用于存储和管理数据。 在使用Cortex-M3单链表时,我们首先需要定义链表的节点结构。节点包含两个成员:一个存储数据的变量和一个指向下一个节点的指针。我们可以使用结构体来定义节点并在内存中进行分配。 接下来,我们需要定义一个指向第一个节点的指针,并将其初始化为NULL,表示链表为空。随后,我们可以通过节点的指针操作来对链表进行插入、删除和遍历等操作。 插入操作可以在链表的开头或者末尾插入一个新节点。首先,我们需要为新节点分配内存,并将数据存储在新节点的变量中。然后,我们可以更新节点指针,将新节点插入链表的相应位置。 删除操作可以根据节点的指针来删除链表中的节点。我们需要先保存要删除节点的前一个节点的指针,并将其指向删除节点的下一个节点。然后,我们可以释放删除节点所占用的内存,并更新链表的指针。 遍历操作可以按照链表的顺序依次访问每个节点,并进行相应的操作。我们可以利用一个循环来实现节点的遍历,从链表的第一个节点开始,直到最后一个节点。 通过使用Cortex-M3单链表,我们可以方便地存储和管理数据。单链表的插入、删除和遍历操作都是基于节点指针的操作,使得我们可以高效地操作链表数据。然而,需要注意的是,在使用链表时,我们需要正确地管理内存分配和释放,以避免内存泄漏和其他问题的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值