第四周 项目 3

来源:互联网 发布:伊人独泪谁人知 编辑:程序博客网 时间:2024/06/05 09:52

list.h 代码

/**Copyright (c) 2017,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:*作    者:陈军正*完成日期:2017年10月10日*版 本 号:v1.0** 设计一个算法, 判断单链表 L 是否是递增的。 实现这个算法, 并完成测试。*/typedef struct LNode{int data;struct LNode *next;}LinkList;void CreateList(LinkList *&L,int a[],int n );void DisplyList(LinkList *&L);void DestroyList(LinkList *&L);bool in(LinkList *&L);
main.cpp 代码


#include <iostream>#include <list.h>using namespace std;int main(){int a[6] = { 1,2,3,4,5,6 };LinkList *L;CreateList(L, a, 6);if (in(L))cout << "递增" << endl;elsecout << "不递增" << endl;system("pause");return 0;}
list.cpp 代码

#include <list.h>#include <iostream>#include <malloc.h>using namespace std;void CreateList(LinkList *&L,int a[], int n){LinkList *S;L = (LinkList *)malloc(sizeof(LinkList));int i;L->next = NULL;for (i = 0; i<n; ++i){S = (LinkList *)malloc(sizeof(LinkList));S->data = a[i];S->next = L->next;L->next = S;}}void DisplyList(LinkList *&L){LinkList *p;p = L->next;while (p != NULL){cout << p->data << " ";p = p->next;}}void DestroyList(LinkList *&L){LinkList *p = L, *q=p->next;while (q != NULL){free(p);q = p->next;}free(p);}bool in(LinkList *&L){LinkList *p = L->next, *q;while (p->next != NULL){q = p->next;if (q->data > p->data){return false;}else{p = q;}}return true;}
运行结果

总结:熟练运用链表的前后两项

原创粉丝点击