单链表倒序

本文介绍了一个使用C语言实现的简单链表操作案例,包括链表的打印与反转功能。通过定义链表节点结构体,并实现遍历打印与反转链表的函数,展示了如何在C语言中操作链表数据结构。
#include   
  
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;  
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值