借助栈将一个带头节点的单链表倒置
分析:
先理解倒置: 倒置前:1->2->3 倒置后:3->2->1
思路:先沿着链表从头到尾扫一遍 将链表的每个结点的data的值依次入栈; 在沿着链表扫一遍 将栈中的元素一次出栈 并填入到每个结点的data中.
算法如下:
void reverse_list(LinkedListTP * head)
{
LStackTP ls,p;
DataTpye x;
InisStack(&ls); /*初始化链栈*/
p= head->next; /*将链栈p的指针指向头结点指向的结点*/
while(p!=null){
Push(&ls,p->data); /*将链表的data依次入栈到ls*/
p=p->next;
}
p= head->next; /*将p重新指到链表头结点所指向的结点*/
while(!EmptyStack(&ls)){
Pop(&ls,&x);
p->data=x; /*替换链表的数据?*/
p=p->next;
}
}
转载于:https://www.cnblogs.com/shihujiang/archive/2010/08/17/2396380.html
借助栈将一个带头节点的单链表倒置相关推荐
- 【数据结构】8. 队列(带头节点的单链表实现)(完整代码实现:初始化、入队列、出队列、获取队头元素、获取队尾元素、获取队列中有效元素的个数、判空、销毁)
目录 Queue.h Queue.c test.c Queue.h #pragma once //采用带头节点的单链表实现队列typedef int DataType;typedef struct Q ...
- 【不带头节点的单链表】
不带头节点的单链表 前言 一.结构体设计 二.函数实现 1. 初始化 2. 购买一个新节点 3. 头插 4. 尾插 5. 按位置插入 6. 头删 7. 尾删 8. 按位置删 总结 补充代码 前言 单链 ...
- 不带头节点的单链表如何头插(多图易懂)
文章目录 缘起 带头节点的头插 不带头节点的头插 错误的代码 为什么错误 如何修改 返回新的头指针 二级指针 缘起 本文想说的是单向非循环链表的头插.单向非循环链表,可以是带头节点的,也可以是不带头节 ...
- java带头节点的单链表_自己实现集合框架(五):带头结点单链表的实现
这是系列文章,每篇文章末尾均附有源代码地址.目的是通过模拟集合框架的简单实现,从而对常用的数据结构和java集合有个大概的了解.当然实现没有java集合的实现那么复杂,功能也没有那么强大,但是可以通过 ...
- 数据结构-带头节点的单链表(C语言)超详细讲解
前面我们学到线性表的顺序存储结构(顺序表),发现它有着明显的缺点:插入和删除元素时需要频繁的移动元素,运算效率低.必须按事先估计的最大元素个数申请连续的存储空间.存储空间估计大了,造成浪费空间:估计小 ...
- 头插法和尾插法建立带头节点的单链表
有两种方法建立单链表,尾插法和头插法,他们的区别是:头插法是按照输入元素倒序建立,为尾插法为顺序插入,并且多一个尾节点,我们一般使用尾插法. 一.头插法 代码为: pCurr -> next = ...
- 数据结构不带头节点跟带头节点的单链表区别,C语言代码展示
单链表头插法 不带头结点 void FronttList1(List *L) {List p;ElemType x;printf_s("请输入一组数据,以'0'为结束符\n");s ...
- 带头节点的单链表逆置
#include <stdio.h> #include <stdlib.h> typedef struct node { int data; struct node *next ...
- 不带头结点的单链表------C语言实现
1 /****************************************************/ 3 File name:no_head_link.c4 Author:SimonKly ...
最新文章
- 关于CI的服务器与最佳实践,这里有一些思考
- ecshop_v2.7.3下载地址
- 【SeeMusic】购买付费版本 ( 进入购买页面 | 购买流程 )
- getrealdays oracle_oracle 日期函数介绍
- 查看oracle资源使用情况,Oracle查询表空间使用情况
- 309. 最佳买卖股票时机含冷冻期
- windows中squid更改默认安装路径配置说明
- 34个有用的 JavaScript 库,现在就可以用起来
- IDEA 插件开发 鼠标事件
- python selenium 下载附件通过oss上传
- 4种Word文档解除密码保护的方法
- 中标麒麟linux操作系统下Chrome/Chromium的安装
- windows 下删除EFI分区方法
- 第十二周项目一----图基本算法库
- 大数据技术如何有效阻击网络黑产?
- win7系统桌面的东西不见了,提示您已使用临时配置文件登录
- sql server数据库错误数据恢复(数据库连接失效,无法附加查询)
- 信号量和互斥锁的区别
- 无胁科技-TVD每日漏洞情报-2022-12-13
- PyCharm 中 import 导包呈现灰色,已解决
热门文章
- Python+经济学:资本边际效率与IRR
- 微信小程序与servlet交互
- java.lang.ClassNotFoundException: org.eclipse.jdt.internal.compiler.env.INameEnvironment
- MMCM时钟动态调相
- 转载_Feedforward ANC 主动降噪原理
- php webshell探索-常见小马
- 每个男人心中都有一段《西西里的美丽传说》
- python 爬取doc文档
- 2013-1-20·
- 实战一:模拟手机充值场景