链表的三个关键赋值

//声明旧结点为prev,新结点为current
//声明结点为结构体指针,便于地址的值传递与使用函数时的传参

1. prev->next = current
    //旧结点指向新结点,相当于将新结点串到链表上

2.prev = current
    //将结点串到尾结点上,以便于随后malloc一个新的结点,再串入链表中

3.current = current->next
    //链表遍历,原理是结构体内可以含有结构体指针,使得next存储的地址为下一结点的地址,即next指向下一结点。这时只要声明current为结构体指针类型的话,就可以实现next与current的值传递,达到串入下一结点的目的

  

时间: 2024-10-19 16:05:21

链表的三个关键赋值的相关文章

InnoDB的三个关键特性

http://www.cnblogs.com/benshan/archive/2013/01/14/2859336.html InnoDB的三个关键特性 InnoDB存储引擎的三个关键特性:插入缓冲(insert buffer).二次写(double write).自适应哈希索引(adaptive hash index). 1.插入缓冲(insert buffer)的原理: 对于非聚集索引的插入和更新,不是每一次直接插入索引页中,而是首先判断插入的非聚集索引页是否在缓冲池中,如果在,则直接插入,

例说Linux内核链表(三)

经常使用的linux内核双向链表API介绍 linux link list结构图例如以下: 内核双向链表的在linux内核中的位置:/include/linux/list.h 使用双向链表的过程,主要过程包括创建包括struct link_head结构的结构体(item),建立链表头.向链表中加入item(自己定义数据结构.双向链表数据单元).删除链表节点.遍历链表,判空等. 1.建立自己定义链表数据结构 struct kool_list{ int to; struct list_head li

喷漆房的三个关键与原理

抽风式喷漆房的三个关键:1.通风-抽风式喷漆房工作的关键问题.2.过滤-过滤空气中小颗粒灰尘.3.排气-排出废空气吸收新空气.喷漆房的原理:室外空气-喷漆房门过滤布-喷漆台-利用喷漆设备对喷溅喷漆-排风扇(排出产生的漆雾)这种喷漆房的弱点如下:1.过滤布容易划伤,灰尘容易进入.2.易将室外有杂质的空气进入.3.不环保,容易浪费油漆.4.需要经常清理,定期清除过滤布上的污垢.5.抽风的风机易损坏,维修麻烦.

Android动态加载技术三个关键问题详解

编者按:InfoQ开设新栏目“品味书香”,精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自任玉刚著<Android开发艺术探索>中的章节“Android的动态加载技术”,探讨了Android动态加载的三个关键问题. 动态加载技术(也叫插件化技术)在技术驱动型的公司中扮演着相当重要的角色,当项目越来越庞大的时候,需要通过插件化来减轻应用的内存和CPU占用,还可以实现热插拔,即在不发布新版本的情况下更新某些模块.动态加载是一项很复杂的技术,这里主要介绍动态加载技术中

线性表-链表(三)

一.单链表基本操作 (1)清空单链表 while(L->next){ p=L->next; L->next=p->next; free(p); } 分析:p 指向L的 next 域,L的 next域 在指向 p 的 next 域(p=L->next),其实就是L指向了 L 的 next 的 next 域.然后清空 p 不断循环,知道 L->next == NULL (2)销毁单链表 while(L){ p=L->next; free(L); L=p; } (3)单

链表(三)——链表删除冗余结点&amp;插入结点到有序链表

1.一个以递增方式排列的链表,去掉链表中的冗余值. 思路一:设有两个指针p和q,使p不动,q依次往后循环直到p->data不等于q->data,再将中间的冗余数据删除. 思路二:设有两个指针p和q,使p在前,q在后,只要找到一个冗余就删除一个,依次往后删除. 输入的链表:1 3 3 3 3 6 6 8 9 10 删除后的链表:1 3 6 8 9 10 比较两种思路,思路二的想法相比于思路一要好,所以这里实现思路二的代码. 2.将一个结点插入到一个有序的链表中. 思路:首先要判定这个链表是递增排

Eclipse配置C++时的三个关键环境变量

ECLIPSE下载很简单,然后装上MinGW,安装就完成了,关键是要配置三个环境变量 include——C:\MinGW\include lib——C:\MinGW\lib path——C:\MinGW\bin 此处是把MinGW安装到C盘的设置,实际要根据自己的安装位置设置路径. 然后在Eclipse里,找到菜单Window,Preferences,C++,New C/C++ Project Wizard,右边选中MinGW GCC,点击Maketoolchain(s) preferred 就

链表(三)——链表删除冗余结点&amp;amp;插入结点到有序链表

1.一个以递增方式排列的链表,去掉链表中的冗余值. 思路一:设有两个指针p和q.使p不动,q依次往后循环直到p->data不等于q->data,再将中间的冗余数据删除. 思路二:设有两个指针p和q,使p在前,q在后,仅仅要找到一个冗余就删除一个,依次往后删除. 输入的链表:1 3 3 3 3 6 6 8 9 10 删除后的链表:1 3 6 8 9 10 比較两种思路.思路二的想法相比于思路一要好.所以这里实现思路二的代码. 2.将一个结点插入到一个有序的链表中. 思路:首先要判定这个链表是递增

提高Android Support Library稳定性的三个关键方法

在Crashlytics,我们经常帮助开发者探索如何建立最稳定应用的方法.抱着这个想法,最近我们开始研究安卓应用崩溃的普遍原因.尤其令我们好奇的是能否在Android Support Library中找到应用崩溃的一些蛛丝马迹,因为这是安卓应用中最广泛使用的Library之一.(貌似是老外写的) 在我们分析的一亿个崩溃里,发现大约有4%的崩溃与这个Support Library有关.通过更深层次的分析,我们的研究表明,绝大多数的崩溃是由一些常见较小的错误造成,而且这些错误却可以避免的.基于这些分