给定一个非空单链表,其数据元素为整数,本题要求实现一个函数, 可判断该单链表是否递增有序。若是,输出“YES”,否则,输出“NO”。 输入样例: 5 1 2 3 4 5 输出样例: YES #includeusing namespace std; #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define MAXSIZE 100 typedef int Status; typedef int ElemType; typedef struct LNode { ElemType data; struct LNode *next; }LNode, *LinkList; Status InitList(LinkList &L) { L = new LNode; L->next = NULL; return OK; } void CreateList(LinkList L, int n) { LNode *p, *r; int i; r = L; for(i = 0; i < n; ++i) { p = new LNode; cin >> p->data; r->next = p; r = p; } r->next = NULL; } int Increase(LinkList L) { LNode *p = L->next, *q; if(p) { while (p->next) { q = p->next; if (q->data > p->data) p = q; else return 0; } } return 1; } int main() { LinkList La = NULL; int n; InitList(La); cin >> n; CreateList(La, n); if(Increase(La)) cout << "YES"; else cout << "NO"; return 0; }



