数据结构奇偶链表c语言
时间: 2023-11-20 18:05:50 浏览: 144
数据结构与算法 c++实现 两个单链表合并为一个单链表,两个表的元素交错排列,新表用原表结点的内存空间 按元素序列的奇偶分割单
5星 · 资源好评率100%
以下是一个C语言实现的奇偶链表的例子:
```c
struct ListNode* oddEvenList(struct ListNode* head) {
if (head == NULL) {
return head;
}
struct ListNode* odd = head; // 奇数第一个结点
struct ListNode* evenHead = head->next; // 保存偶数头结点
struct ListNode* even = evenHead; // 偶数第一个结点
while (even != NULL && even->next != NULL) {
odd->next = even->next; // 奇偶指针的变换
odd = odd->next;
even->next = odd->next;
even = even->next;
}
odd->next = evenHead; // 奇数链表的尾巴指向偶数链表的头
return head;
}
```
阅读全文