写出数据结构实验逆转单链表的实验原理、运用的理论知识、步骤和方法
时间: 2023-12-05 22:06:24 浏览: 119
实验原理:
逆转单链表是指将单链表中的所有结点逆序排列,即原链表的头结点变成了尾结点,原链表的尾结点变成了头结点。实现逆转单链表的方法有多种,本实验采用迭代法实现。
运用的理论知识:
1. 单链表的基本概念和操作;
2. 指针的基本概念和操作;
3. 迭代法的基本思想。
步骤和方法:
1. 定义一个指向链表头结点的指针pHead,以及两个指针pPre和pCur,初始时pPre和pCur都指向pHead;
2. 遍历链表,每次将pCur的next指针指向pPre,然后将pPre和pCur分别向后移动一位,直到pCur指向链表尾结点;
3. 将链表的头结点的next指针置为NULL,然后将pCur的next指针指向pPre,最后将pHead指向pCur,逆转完成。
代码实现如下:
```
void reverseList(ListNode* pHead) {
if (pHead == NULL || pHead->next == NULL) {
return;
}
ListNode* pPre = pHead;
ListNode* pCur = pHead->next;
while (pCur != NULL) {
ListNode* pNext = pCur->next;
pCur->next = pPre;
pPre = pCur;
pCur = pNext;
}
pHead->next = NULL;
pHead = pPre;
}
```
注:ListNode为链表结点的结构体,包含val和next两个成员变量。
阅读全文
相关推荐









