单链表倒序

来源:互联网 发布:北京seo教程 编辑:程序博客网 时间:2024/06/05 10:42

需要将单链表倒序,并输出新的链表

核心代码

  1. Node *next = root->next;
  2. root->next = new_root;
  3. new_root = root;
  4. root = next;

#include <stdio.h>typedef struct Node {  char data;  struct Node* next;} Node;void print_list(Node* root) {  while (root) {    printf("%c ", root->data);    root = root->next;  }  printf("\n");}Node* reverse(Node* root) {  Node* new_root = NULL;  while (root) {    Node* next = root->next;    root->next = new_root;    new_root = root;    root = next;  }  return new_root;}int main() {  Node f = { 'f', NULL };  Node e = { 'e', &f };  Node d = { 'd', &e };  Node c = { 'c', &d };  Node b = { 'b', &c };  Node a = { 'a', &b };  Node* root = &a;  print_list(root);  root = reverse(root);  print_list(root);  return 0;}




0 0