C语言学习016:单链表
2016-04-09 23:31
225 查看
#include <stdio.h> //定义一个链表,链表是一种递归结构,在定义的时候必须要给结构起一个名字 typedef struct folder{ int level; char* filename; struct folder* child;//通过指针链接下一个结构 }folder; int main(){ folder first={1,"first",NULL}; folder second={2,"second",NULL}; folder thread={3,"thread",NULL}; first.child=&second; second.child=&thread; folder* i=&first; for(;i!=NULL;i=i->child){ printf("%s level is %i \n",i->filename,i->level); } return 0; }
在链表中插入值,只需要修改指针的值就行
second.child=&thread; folder fourth={4,"fourth",NULL};
链表相对于数组而言,插入数据非常快,但是如果有一个很长的链表,要想访问最后一个元素,你需要从第一个开始一层一层的读下去,而数组可以通过索引直接访问元素,所以使用数组还是链表需要根据环境来决定
相关文章推荐
- c++sort函数的用法浅析
- 《C++ Primer 》第五版 Stanley B.Lippman
- [LeetCode]1. Two Sum
- C++ 切割string splite方法的实现
- C 【原码 反码 补码】
- 结构体排序练习
- 用C语言编写三子棋的具体分析
- C 【进制表示 及 相互转化】
- c++上机实验3——作业
- C 【#include <> 和 #include "" 的区别】
- 翻转句子中单词的顺序和字符串的旋转操作 c++面试题
- C++ 中 delete 和 delete[] 的区别?
- C 【函数 递归】
- 4.1 左值到右值的转换 中英文对照(C++标准中文版 ISO/IEC 14882:2014)
- C++第3次上机作业
- [LeetCode]15. 3Sum
- c++作业3
- C++Primer第5版读书笔记(第12章)
- c++第三次作业
- 读书笔记--C语言接口与实现--atom(原子)