Liuv Blog

格物致知,诚意正心

数据结构之栈

Lesson 1 C实现栈

Talk is cheap, show me the code. ——Linus Torvalds 0x01 前言 紧跟在队列后面的数据结构就是栈啦,同队列一样,栈也是线性表的一种变体,只能在同一端插入和删除,从而具有先入后出的特性。栈在计算机世界 中应用广泛,大家最熟悉的栈应用非函数调用莫属,因此,理解栈是理解函数调用过程的基础,而理解函数调用过程是掌握编程的基础。可以说,掌握栈...

数据结构之队列

Lesson 1 C实现队列

Talk is cheap, show me the code. ——Linus Torvalds 0x01 前言 复习完链表后,接下来就是队列了。其实队列也是一种特殊的线性表,对插入和删除作了限制,只允许从一端插入,另一端删除,从而 具有了先入先出的特点。队列的应用广泛,最典型的就是消息队列机制,消息按照FIFO方式进行处理。好了,话不多说,看C语言的实现吧。 0x02 头文件...

数据结构之单链表(三)

Lesson 3 单链表常见算法

Talk is cheap, show me the code. ——Linus Torvalds 0x01 前言 在上一篇:数据结构之单链表(二)中,我们在单链表上实现插入排序、选择排序和快速排序 这三种经典排序算法。本片博客中,我们将继续深入,探讨一些单链表相关的题目。主要内容如下: 链表倒置 求链表的第K个节点 求链表的倒数第K个节点,如果K大于链表长度则返回...

数据结构之单链表(二)

Lesson 2 单链表排序

Talk is cheap, show me the code. ——Linus Torvalds 0x01 前言 在上一篇:数据结构之单链表(一)中,我们用C语言实现了单链表的基本操作,本片博客将在 单链表的基础上继续深入,实现插入排序、选择排序和快速排序这三种经典排序算法。 链表排序和数组排序的思路类似,只是链表操作起来比较麻烦,因为不能随机访问,所以只能借助于类似于前置或后...

数据结构之单链表(一)

Lesson 1 C实现单链表

Talk is cheap, show me the code. ——Linus Torvalds 0x01 前言 马上就要面临找工作了,准备陆陆续续将数据结构、计算机网络、操作系统这些基础给复习一遍。在复习的过程中,我会不断的在博客里进行总结,一方面也起到督促的作用。 0x02 头文件——list.h 今天复习的是数据结构里面最基础的数据结构——单链表,用C语言实现,废话不多说...