#include <stdio.h>

#include <stdlib.h>

typedef struct node

{

int data;

struct node *next;

}Node;

// 请在此添加你的代码

/********** Begin *********/

struct node *CreatList()

{

struct node *pre,*cur,*head;

int n,i=0;

scanf("%d",&n);

head=(struct node*)malloc(sizeof(struct node));//给头节点分配内存

head->next=NULL;//初始化头节点

head->data=0;

while(i<n)

{

cur=(struct node*)malloc(sizeof(struct node));

scanf("%d",&(cur->data));

cur->next=NULL;

if(head->next==NULL)

{

head->next=cur;

}

else

pre->next = cur;

pre=cur;

i++;

}

return head;

}

void ShowList(struct node *head)

{

struct node *temp;

temp = head->next;                  //取得链表的头指针

while(temp!=NULL)               //tenp所指节点不能为空

{

printf("%d ",temp->data);       //输出temp所指的节点的值

temp = temp->next;              //temp后移指向下一个节点

}

}

struct node *ReverseList(struct node *head)

{

struct node *cur,*pre;

cur=head->next;

head->next=NULL;

while(cur)

{

pre=cur;

cur=cur->next;

pre->next=head->next;

head->next=pre;

}

return head;

}

/**********  End  **********/

int main(void)

{

struct node *head;

head = CreatList();

printf("链表逆置前的数据:\n");

ShowList(head);

printf("\n");

head = ReverseList(head);

printf("链表逆置后的数据:\n");

ShowList(head);

return 0;

}

带头节点的单链表逆置相关推荐

  1. C语言实现不带头结点的单链表逆置的三种方法

    C语言实现不带头结点的单链表逆置的三种方法 直接循环 头插法 递归法 END! 直接循环 图片解释 ListNode* ReverseList1(ListNode *head) {if(head == ...

  2. 【数据结构】无头节点的单链表逆置

    day1 牛客网刷题 C语言实现单链表逆置 C语言实现单链表逆置 由于一段时间没有用数据结构 刚开始有些忘记了 第一次真正在牛客网上进行调试 原来还会有调试用例 还要设置边界值 如果没有 测试也不会通 ...

  3. 单链表操作10-带头结点的单链表逆置(个人学习笔记,仅供参考)

    带头结点的单链表逆置 题目要求 单链表结点定义 函数接口定义 测试程序样例 输入样例 输出样例 答案 题目要求 设计算法Reverse( ),将带头结点的单链表A逆置,要求利用原有链表的链点,最后输出 ...

  4. 带有头节点单链表,带有头节点单链表逆置的四种方法

    文章目录 带头结点的单链表 单链表逆置的四种做法 带头结点的单链表 链式存储结构:逻辑上相邻的数据元素,并不要求物理上也相邻: 单链表的代码实现 .h文件 #pragma once typedef i ...

  5. 单链表逆置:空间复杂度O(1)

    带头结点单链表逆置 从链表(带头结点)首个数据结点开始,重新头插法建表,将节点链接到头结点上 //单链表结点结构 typedef struct LNode {int data;struct LNode ...

  6. java数据结构之单链表逆置算法

    单链表逆置算法1 设计思想:在链表类中新加成员方法getNode(int i),用来获取指定位置的节点,新建一个空单链表,将原链表的每个节点按照从后往前的顺序依次取出,再把节点的数据依次添加到新的链表 ...

  7. 数据结构:单链表逆置

    实验要求: 写出将单链表逆置的算法.即令单链表的第一个结点变为最后一个结点,第二个结点变为倒数第二个结点,-,最后一个结点变为第一个结点. 依次从键盘读入数据,逆序建立链表L: 逆置链表L(创建新的链 ...

  8. 单链表逆置C语言编程实现

    单链表逆置 #include<stdio.h> #include<stdlib.h> typedef struct node {char data;//data为结点的数据信息 ...

  9. 【不带头节点的单链表】

    不带头节点的单链表 前言 一.结构体设计 二.函数实现 1. 初始化 2. 购买一个新节点 3. 头插 4. 尾插 5. 按位置插入 6. 头删 7. 尾删 8. 按位置删 总结 补充代码 前言 单链 ...

最新文章

  1. wxWidgets:wxHtml 测试示例
  2. python作业(12.12)
  3. 深入浅出MySQL出版了
  4. 【每日算法Day 65】你能顺利救出地下城里的公主吗?
  5. B - 最短路径问题
  6. 自动驾驶 2-3 软件架构 Software Architecture
  7. 如何降低程序员的工资?
  8. 关键词搜索-免费搜索关键词排名软件
  9. Flink之DataSet转换操作(二)
  10. 进击的蚂蚁金融云与场景焦虑的银行
  11. 人机融合的科幻与现实
  12. 计算机三维设计ppt,1 三维建模技术发展史.ppt
  13. Project2 分段切割路面,只取一个种子点
  14. android显卡效果吗,安卓模拟器显卡渲染模式中DirectX和OpenGL两个有什么区别?
  15. ESP8266入门教程04:连接WIFI热点
  16. 服装ERP软件体系究竟差在哪里?
  17. 前端人工智能?TensorFlow.js 学会游戏通关
  18. ROS从入门到精通2-1:机器人3D可视化工具——Rviz
  19. 欣向路由器:四大过人绝技的应用价值(转)
  20. Just Pour the Water

热门文章

  1. Python 基础学习 00 01 基础语法规则
  2. 你是否在愁放映PPT时,大家看到你的备注呢??
  3. 多种方法实现从Excel表格的两列数据中提取不重复(唯一)值
  4. python 爬虫 requests学习案例
  5. STM32的异常与中断
  6. java redis之jredis操作
  7. C语言解题——指针解析(牛客网题目)
  8. ​LeetCode刷题实战50:Pow(x, n)
  9. antd tree组件自定义图标
  10. 月球可能曾是火星卫星