反转链表:
代码示例:
我链表的定义:
typedef int SListDataType;
typedef struct SListNode {
SListDataType value; // 保存的值
struct SListNode* next; // 保存下一个结点的地址
} SListNode;
typedef struct SHead {
SListNode* first;
}SHead;
反转链表的实现:
//8.反转链表
int ReverseSListNode(SHead* s) {
//边界判断
//链表不存在
if (s!=NULL) {
return;
}
SListNode* cur;
SListNode* arr;
cur = s->first;
while (cur->next!=NULL) { //交换的实现,注意画图,画图就能看出来了
arr = cur->next;
arr->next = s->first;
s->first = arr;
}
return 0;
}