第4周项目3 -- 单链表应用(3)

来源:互联网 发布:win10 休眠不关闭网络 编辑:程序博客网 时间:2024/05/18 00:58
/*      Copyright (c)2015,烟台大学计算机与控制工程学院      All rights reserved.      文件名称:项目3--单链表应用(1).cpp      作    者:魏乐天     完成日期:2015年11月2日      版 本 号:v1.0            问题描述:1、设计一个算法,将一个带头结点的数据域依次为a1,a2,…,an(n≥3)的单链表的所有结点逆置,  即第一个结点的数据域变为an,…,最后一个结点的数据域为a1。实现这个算法,并完成测试。输入描述:若干数据 。    程序输出:链表中的数据及逆序拍好后的数据。 */
算法库代码
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 increase(LinkList *l){LinkList *p;int a;p=l;p=p->next;a=p->data;p=p->next;while(p!=NULL){if(p->data>=a){a=p->data;}else return false;p=p->next;}return true;}


运行结果

知识点总结:
链表数据的性质判断。

学习心得:
p=p->next这句话的位置是很有讲究的,位置的不得当会造成程序的崩溃。

 

 

0 0
原创粉丝点击