双向链表尾插法

#include <iostream>
using namespace std;
typedef struct Node pNode;
struct Node{int data;pNode *prev,*next;Node(const int& d):data(d),prev(NULL),next(NULL){}};/* 初始化链表,尾插法 */
pNode *insert(pNode *head/* or *&head */, int n){//*&head:指针的引用,此时**head本身不能改变,指向头节点;改变的是指向的指针*head.pNode *p, *s;//p:游标 s:新申请节点head = new Node(0);head->next = NULL;//head的prev和next均指向NULLhead->prev = NULL;p = head;//p指向headfor(int i = 0; i < n; i++){s = new Node(i);p->next = s;//游标p->next指向新申请节点s->prev = p;//s前驱指针指向pp = s;//游标p向后移动,p=s,p->next=s->next;}s->next = NULL;return head;
}void print(pNode *head){while(head->next){//cout <<"head->next: "<< head->next<<endl;head = head->next;cout << head->data << " ";}cout << endl;
}int main(){pNode *head, *new_head;new_head = insert(head, 5);//初始化链表并赋值,返回尾节点lastprint(new_head);return 0;
}

双向链表尾插法(二)相关推荐

  1. c语言双向链表尾插法,双向链表 头插法 尾插法

    #include"ll.h" #define CHECK(p) if(NULL==p) return NULL #define ERR -1 #define succes 0 in ...

  2. C语言的双向链表头插法和尾插法,指定节点删除

    文章目录 前言 头插法 尾插法 删除节点 测试代码如下 前言 双向链表和单链表的唯一区别就是多个一个指针域而已,该指针域可以访问链表的上一个节点. 关于构造双向链表的过程我们常见的有两种方法,和单链表 ...

  3. 建立带头结点的双向链表_尾插法

    // ------------------------------------------------------- //2014--03--14 // 建立双向链表 // 程序分析:双向链表的节点有 ...

  4. 线性表基本操作,单链表的建立(头插法,尾插法)、插入、删除、遍历操作的实现(c++ 数据结构 实验二)

    大学数据结构课程的实验题目,掌握线性表的链接存储结构,用c++语言描述 一.实验要求 1.分别用头插法和尾插法建立一个含有若干结点的单链表 2.对已建立的单链表进行插入.删除.遍历输出等操作 二.代码 ...

  5. 数据结构学习(二)——单链表的操作之头插法和尾插法创建链表

    http://blog.csdn.net/abclixu123/article/details/8210109 链表也是线性表的一种,与顺序表不同的是,它在内存中不是连续存放的.在C语言中,链表是通过 ...

  6. 数据结构专题(二):2.3链表插入元素,尾插法

    因为结构内存的差异,所以有头插法和尾插法两种形式. 本章博客主要讲解头插法 操作流程如下图 如下代码: ///插入元素,在指定的位置插入给定的值 //因为链表这种结构的内存是由程序员管理的,因此他的建 ...

  7. 7-52 两个有序链表序列的交集 (20 分)(思路加详解尾插法)come Boby!

    一:题目 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的交集新链表S3. 输入格式: 输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列) ...

  8. 链表的两种创建方法——头插法与尾插法

    链表创建的两种方法 引言 ​ 首先讲述了我自己在动态实现数据结构的时候遇到的大坑结构体指针问题,随后就是头插法和尾插法的介绍. 结构体指针 引言 ​ 首先需要讲述的是一个让我改了一天半的bug.实际上 ...

  9. 创建链表:头插法与尾插法

    两种方法的区别无非是插入的位置: 头插法:新插入结点始终未当前的第一个结点 尾插法:新插入结点始终为当前的最后一个结点 头插法建表 实现代码: //头插法建链表 void HeadCreateList ...

最新文章

  1. python在读写文件之前需要创建文件对象-Python对象序列化写入文件对象
  2. 基于标准C语言的数字图像处理基本框架(转)
  3. PyQt5 技术篇-窗口名、窗口图标的设置方法。
  4. android控件拖动,移动、解决父布局重绘时控件回到原点
  5. boost::geometry::within用法的测试程序
  6. 分区供水条件口诀_经典口诀2020年一建市政管道篇
  7. java删除多选项_java – 选项菜单默认灰色边框删除
  8. jax-ws开发的webservice集成到web项目中
  9. 盘姬工具箱 Cruiser EXP for Win v1.1.0 多功能系统工具箱
  10. 手机android怎么开机画面,Android使用BroadcastReceiver实现手机开机之后显示画面的功能...
  11. [HNOI 2017] bzoj4826 影魔 [单调栈+扫描线]
  12. java语言不用pow函数求x的n次方_X的N次方求解——pow(x,n)实现
  13. java 重写equals的要点_重写equals 方法的注意事项
  14. 若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由
  15. 机器学习 贝叶斯方法_机器学习中的常客与贝叶斯方法
  16. 带你走近微软最“动听”的程序媛 | 女神节特辑
  17. JVM 内存模型面试题目
  18. android 错误中英互译,中英文翻译器应用的官方Android版本v3.1.1
  19. 为什么时钟都用32.768K的晶振?2的15次方
  20. 数据转换成tfrecord类型并完成读取

热门文章

  1. nRF51822 入门必备教程(一篇搞定nRF51)
  2. 西电优研计划自我准备(2020-10.12更新后续)
  3. 除磷工艺的7大关键参数
  4. 类EMD的“信号分解方法”及MATLAB实现(第六篇)——LMD
  5. Java基础打印日历——知道1901.1.1是星期二
  6. 20世纪1号是星期天数
  7. 【洛谷】【分支】洛谷团队系统
  8. python画图刻度向内
  9. An SPI class of type org.apache.lucene.codecs.PostingsFormat with name 'Lucene50' does not exist.报错
  10. VScode搭建java编译环境(jdk11 vscode版本1.48.0)