给定一个非空单链表,其数据元素为整数,本题要求实现一个函数,可判断该单链表是否递增有序。若是,输出“YES”,否则,输出“NO”。用C语言实现
时间: 2024-05-13 19:20:15 浏览: 23
Yes
以下是使用C语言实现判断单链表是否递增有序的代码:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct Node { //定义单链表结构体
int data;
struct Node *next;
} Node;
int isIncreasingOrder(Node *head) { //判断单链表是否递增有序
if (head == NULL || head->next == NULL) {
return 1;
}
Node *current = head;
while (current->next != NULL) {
if (current->next->data <= current->data) {
return 0;
}
current = current->next;
}
return 1;
}
int main() {
Node *head = (Node *) malloc(sizeof(Node)); //创建一个单链表
head->data = 1;
Node *p = head;
for (int i = 2; i <= 10; i++) {
Node *newNode = (Node *) malloc(sizeof(Node));
newNode->data = i;
p->next = newNode;
p = newNode;
}
p->next = NULL;
if (isIncreasingOrder(head)) { //判断单链表是否递增有序
printf("YES");
} else {
printf("NO");
}
return 0;
}
```
这段代码中,首先我们定义了一个单链表结构体`Node`,包括该结点的数据和下一个结点的指针。接下来,我们定义了一个`isIncreasingOrder`函数,用来判断单链表是否递增有序。具体地,我们使用一个`while`循环遍历整个单链表,如果存在后一个结点的值小于等于前一个结点的值的情况,那么就说明该单链表不是递增有序的。最后,我们在`main`函数中创建一个单链表,然后调用`isIncreasingOrder`函数来判断该单链表是否递增有序,并输出相应的结果。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)