一. LinkedList的数据结构 LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的。 基础知识补充 1.1 单向链表 element:用来存放元素 next:用来指向下一个节点元素 通过每个结点的指针指向下一个结点从而链接起来的结构,最后一个节点 ...
分类:
其他好文 时间:
2018-10-04 22:03:54
阅读次数:
112
1. 概述 LinkedList是一个简单的数据结构,与ArrayList不同的是,他是基于双向链表实现的。ArrayList内部是数组,元素在内存是连续存放的,LinkedList每个元素在内存都是单独存放的! 结构也相对简单一些,如下图所示: 2. set和get函数 这两个函数都调用了node ...
分类:
编程语言 时间:
2018-10-02 22:19:57
阅读次数:
258
LIFO 链栈结构 LIFO 链栈基本操作 ...
分类:
其他好文 时间:
2018-09-30 13:01:13
阅读次数:
128
今天在看单元测试的时候无意中看到google gtest的例子有个实现Queue队列的数据结构它是用单链表实现的。索性今天就分享一下队列和栈这两种实现方法。 Queue 单链表实现 1 // Copyright 2005, Google Inc. 2 // All rights reserved. ...
分类:
编程语言 时间:
2018-09-29 20:19:56
阅读次数:
158
20172303 2018 2019 1 《程序设计与数据结构》第3周学习总结 教材学习内容总结 本周学习了课本第五章的内容,主要介绍了一种新的线性集合——队列。讲解了关于队列的相关概念以及使用链表和数组实现队列的方法。 一、队列概述 元素处理方式:先进先出(First In First Out,F ...
分类:
其他好文 时间:
2018-09-27 01:45:45
阅读次数:
161
20172330 2018 2019 1 《程序设计与数据结构》第二周学习总结 教材学习内容总结 队列 1.队列的元素是按FIFO方式处理的:第一个进入的元素,也就是第一个退出的元素。 2.队列是一种可存储重复编码秘钥的便利集合。 3.通常用队列来实现排队的模拟。 4.分别指向链表首元素、链表尾元素 ...
分类:
其他好文 时间:
2018-09-27 01:40:28
阅读次数:
168
20172327 2018 2019 1 《程序设计与数据结构》第三周学习总结 教材学习内容总结 第五章 队列 概述 1.队列是一种线性集合,其元素从一端加入,从另一端删除,按先入先出的方式处理。 2.前端(队首):front、head,末端(队尾):rear、tail, 3. | 操作 | 说明 ...
分类:
其他好文 时间:
2018-09-26 19:10:12
阅读次数:
117
在编程领域,数据结构与算法向来都是提升编程能力的重点。而一般常见的数据结构是链表,栈,队列,树等。事实上C#也已经封装好了这些数据结构,在头文件 System.Collections.Generic 中,直接创建并调用其成员方法就行。不过我们学习当然要知其然,亦知其所以然。 本文实现的是链表中的单链 ...
用单链表实现一个栈,要求Push Pop的运行时间为O(1),来自《算法导论》习题10.2 2。 因为Push和Pop操作伴随着栈顶元素的插入和删除,所以,这个问题的本质是:在单链表的哪个位置进行插入和删除,其运行时间为O(1)?初步来看,可能的选项有两个,头部和尾部。 又因为,要想在单链表上插入和 ...
分类:
其他好文 时间:
2018-09-23 18:17:48
阅读次数:
459