c语言单链表翻转12345
时间: 2023-09-06 14:01:07 浏览: 41
要实现C语言单链表的翻转,可以按照以下步骤进行:
首先,我们需要定义一个链表结点的结构体,包含一个整型数据和一个指向下一个结点的指针:
```c
typedef struct Node {
int data;
struct Node* next;
} Node;
```
然后,我们初始化一个长度为5的链表,并设置每个结点的数据值和指针:
```c
Node* head = NULL;
Node* temp = NULL;
for (int i = 1; i <= 5; i++) {
Node* newNode = (Node*) malloc(sizeof(Node));
newNode->data = i;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
} else {
temp->next = newNode;
}
temp = newNode;
}
```
接下来,我们定义一个指针用于遍历链表,并将每个结点的指针指向它的前一个结点:
```c
Node* current = head;
Node* prev = NULL;
Node* next = NULL;
while (current != NULL) {
next = current->next;
current->next = prev;
prev = current;
current = next;
}
head = prev;
```
最后,我们可以遍历翻转后的链表,将每个结点的数值打印出来:
```c
Node* temp1 = head;
while (temp1 != NULL) {
printf("%d ", temp1->data);
temp1 = temp1->next;
}
```
以上就是使用C语言对链表进行翻转的代码和步骤。通过定义结构体,初始化链表,使用指针进行翻转操作,最后遍历链表,我们可以成功地实现链表的翻转,并打印出翻转后的结果12345。