摘要: 1 前言 这节我们来看看计算机中的常见的栈结构。 2 栈定义 栈是一个后进先出(Last In Fist Out, LIFO)的线性表,它要求只在表尾进行删除和插入操作。 所谓的栈,其实就是一个特殊的线性表(顺序表、链表),但是它在操作上有一些特殊的要求和限制: 栈的元素必须“后进先出” 栈的操作只 阅读全文
posted @ 2023-04-30 23:30 酷酷- 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1 前言 只要大家坐过火车,对于双向链表的理解就相当简单。双向链表就是在单链表的基础之上,为每一个结点增加了它的前继结点,我们来看看。 2 双向链表 双向链表的定义如下: typedef struct DaulNode { ElemType data; struct DaulNode *prior; 阅读全文
posted @ 2023-04-30 21:13 酷酷- 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1 前言 对于单链表,由于每个结点只存储了向后的指针,到了尾部标识就停止了向后链的操作。也就是说,按照这样的方式,只能索引后继结点不能索引前驱结点。这样一来,不从头结点出发,这样就无法访问到全部结点。 为了解决这个问题,我们只需要将单链表的尾结点的指针由空指针改为指向头结点的指针。 2 循环链表 将 阅读全文
posted @ 2023-04-30 20:59 酷酷- 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 1 前言 地球人都知道C语言是个伟大的语言,它的魅力在于指针的灵活性,使得它可以非常容易地操作内存中的地址和数据,这比其他高级语言更加灵活方便。(面向对象语言,比如java,可以使用对象引用机制间接地实现指针的某些功能) 但是古人还是木有C语言丫,木有JAVA丫,只有原始的Basic,Fortran 阅读全文
posted @ 2023-04-30 19:02 酷酷- 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1 前言 线性表的链式存储结构的特点就是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以在内存中未被占用的任意位置。 比起顺序存储结构每个元素只需要存储一个位置就可以了。现在链式存储结构中,除了要存储数据信息外,还要存储它的后继元素的存储地址(指针)。 也就是说除了存储其本身的信息外,还需 阅读全文
posted @ 2023-04-30 18:29 酷酷- 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1 什么是线性表 线性表的定义:由零个或多个数据元素组成的有限序列 首先它是一个序列,也就是说元素之间是有先来后到之分。 若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有且只有一个前驱和后继。 线性表强调是有限的,事实上无论计算机发展到多强大,他所能处理的元素都是有限的。 线性 阅读全文
posted @ 2023-04-30 18:05 酷酷- 阅读(212) 评论(0) 推荐(0) 编辑