c语言设计一个算法,判断一个单链表中各个结点值是否有序
时间: 2024-10-14 22:03:42 浏览: 56
C语言实现单链表(带头结点)的基本操作.zip
在C语言中,我们可以使用迭代或递归的方式来编写一个算法,判断一个单链表是否有序。这里我们提供一个简单的迭代方法:
```c
// 定义链表节点结构体
typedef struct Node {
int value; // 节点值
struct Node* next; // 指向下一个节点的指针
} Node;
// 判断链表是否有序(升序)
bool isSorted(Node* head) {
if (head == NULL || head->next == NULL) {
return true; // 空链表或者只有一个元素都是有序的
}
Node* current = head;
while (current->next != NULL) {
if (current->value > current->next->value) {
return false; // 找到第一个逆序的节点,链表无序
}
current = current->next;
}
return true; // 遍历完整个链表未找到逆序,链表有序
}
阅读全文