文档章节

链表的基本用法

努力喵
 努力喵
发布于 2015/10/19 21:14
字数 231
阅读 5
收藏 0
点赞 0
评论 0
// linkdemo.c -- 链表的基本用法
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct data{
  char name[20];
  struct data *next;
}; 
// 为结构和指向该结构的指针定义
//typedef struct data PERSON;
//typedef PERSON *LINK;

int main(void){
  //头指针、新指针和当前元素指针
  struct data *head = NULL;
  struct data *new1 = NULL;
  struct data *current = NULL; 
  
  //添加第一个链表元素 
  new1 = (struct data *)malloc(sizeof(struct data)); // 创建一个新节点 
  new1->next = head;  // 让表头赋值给下一个节点,这时表头和next储存的指针相同 
  head = new1;        
  strcpy(new1->name, "Abigail");
  
  //在链表末尾添加一个元素
  current = head;
  while(current->next != NULL){
    current = current->next;
  }
  new1 = (struct data *)malloc(sizeof(struct data));
  current->next = new1;
  new1->next = NULL;
  strcpy(new1->name, "Carolyn");
  
  // 在链表的第二个位置添加一个新元素
  new1 = (struct data *)malloc(sizeof(struct data));
  new1->next = head->next;
  head->next = new1;
  strcpy(new1->name, "Beatrice");
  
  // 按顺序打印所有数据
  current = head;
  while(current != NULL){
    printf("\n%s", current->name);
    current = current->next;
  }
  printf("\n");
  
  return 0;
}


© 著作权归作者所有

共有 人打赏支持
努力喵
粉丝 5
博文 105
码字总数 34117
作品 0
广州
第三节、大秦帝国的连坐与链表(一)

1、大秦帝国的连坐 孙皓晖先生在《大秦帝国(第一部)》中讲到: 烈酒下喉,卫鞅精神为之一振,“《治秦九论》乃卫鞅谋划的变法大纲。其一《田论》,立定废井田、开阡陌、田得买卖之法令……...

hello李艳宾 ⋅ 05/24 ⋅ 0

c++中new和delete(运算符)和C中的malloc和free(函数)的使用方法

new和delete是运算符,不是函数,不需要头文件,用于动态分配和撤销内存的运算符 new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址....

SibylY ⋅ 2013/10/12 ⋅ 2

android源代码学习 init中的双向链表listnode

在init源代码中双向链表listnode被使用地很多。android源代码中定义了结构体listnode,奇怪的是,这个结构体只有用于链接节点的prev和next指针,却没有任何和”数据“有关的成员变量。那么代...

Genus ⋅ 2013/02/03 ⋅ 0

数据结构-02-链表(Linkied List)

Linked List - 链表 链表是线性表的一种。线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元...

Corwien ⋅ 2016/06/17 ⋅ 0

HashMap的工作原理

HashMap是近些年来java面试中常问到的知识点,很多人(包括我在内)都知道HashMap的用法,也知道HashMap与HashTable之间的区别,但是却不知其所以然,于是乎,本人开始查阅相关资料,解读HashM...

boxiZen ⋅ 2013/11/20 ⋅ 3

ADT - 序列

ADT --- 是一些操作的集合。他们是数学层面上的抽象。ADT 的定义中只含有这些操作的行为而不涉及它们的实现。这些具体定义的行为也可以看成是一种约束(如栈就是设计为 LIFO 的),设计者期望...

lionets ⋅ 2016/07/10 ⋅ 0

list用法简记

list的用法 1.允许快速的插入和删除,随机访问比较慢。 2.merge操作 void merge(list &lst) void merge(list &lst, Comp Compfunction) 把链表链接在一起,产生整齐排列的组合链表,可以指定...

ryany ⋅ 2011/04/12 ⋅ 0

linuxC开发学习路线

一、工具的使用 1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的...

李文良 ⋅ 2015/08/01 ⋅ 0

List,Set,Map用法以及区别

List,Set,Map是否继承自Collection接口? 答:List,Set是,Map不是。 如图: Collection   ├List   │├LinkedList   │├ArrayList   │└Vector   │ └Stack   └Set   ...

varchard ⋅ 2015/03/26 ⋅ 3

golang中container/ring包用法

ring包实现了环形链表的操作。 type Ring //Ring类型代表环形链表的一个元素,同时也代表链表本身。环形链表没有头尾;指向环形链表任一元素的指针都可以作为整个环形链表看待。Ring零值是具...

ethantonylam ⋅ 2016/05/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 43分钟前 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部