List 有序,可以重复Set 无序,不能重复 Collection接口 | List接口:存储有序的可以重复的元素 | ArrayList(主要实现类) 用数组实现 | LinkedList(频繁的插入、删除操作) 用链表实现 | Vector(古老的,线程安全的,速度慢的) Set接口:存储有序 ...
分类:
编程语言 时间:
2017-11-06 21:21:49
阅读次数:
154
实现线性表的链式存储结构——线性链表。从文件输入 一批整数,建立有序链表(升序),并完成: 查找一个指定元素 插入一个给定元素 删除一个指定元素 统计链表的长度 输出线性链表 实现安逆序链表的重建 ...
分类:
其他好文 时间:
2017-11-05 23:39:04
阅读次数:
221
书上写的好复杂。 1、检测链路是否存在环路。通过FastRunner/SlowRunner法,FastRunner一次移动两步,SlowRunner一次移动一步。 2、当二者碰到之后,F继续走,S从头走。当他们再次碰头时,那就是环的入口。 建议:空想好难,建议随便列几个数字看看规律。 ...
分类:
编程语言 时间:
2017-11-01 01:18:49
阅读次数:
226
首先认识一下什么是“前向星”:前向星是一个特殊的边集数组,通过将边集数组中的每条边按照起点排序(必要时起点相同的边再按终点排序),并记录下以某个点为起点的所有边在数组中的其实位置和存储长度,来构造前向星。链式向前星,是图的一种存储结构,采用数组模拟链表实现..
分类:
其他好文 时间:
2017-10-26 22:43:56
阅读次数:
299
一、队列是什么 队列是一种可以实现“先进先出”的存储结构。 队列通常可以分为两种类型: ①顺序队列,采用顺序存储,当长度确定时使用。 顺序队列又有两种情况: ②链式队列,采用链式存储,长度不确定时使用(由链表实现)。 由于链式队列跟链表差不多,所以在这里只针对循环(环形)队列来说明并实践。 循环队列 ...
分类:
其他好文 时间:
2017-10-26 19:02:33
阅读次数:
251
概述 ConcurrentLinkedQueue是一种基于链表实现的无界非阻塞线程安全队列,遵循先入先出规则。 线程安全队列有两种实现方式: 阻塞方式:对入队和出队操作加锁。阻塞队列。 非阻塞方式:通过自旋CAS实现。例如:ConcurrentLinkedQueue 下面从源代码中分析Concurr ...
分类:
编程语言 时间:
2017-10-25 00:42:15
阅读次数:
288
1 /*用链表实现的队列--使用的是双端链表 2 *注意:空指针错误肯定是引用没有指向对象 3 * */ 4 public class MyLinkedQueue { 5 private MyFirstAndLastLinkedList list; 6 private int items; 7 8 ... ...
分类:
编程语言 时间:
2017-10-17 15:44:14
阅读次数:
203
这题应该见的不少了,写写记录一下。 实现该功能分析: (1) O(1) 时间完成查找,那除了 hash 别无选择。 (2) LRU 最近最少使用算法,为了方便数据的淘汰。需要对最近访问的数据放未访问数据之前。 用双向链表实现即可。(通常情况下,双向链表读取、插入的时间复杂度都是O(n), 但是如果知 ...
分类:
编程语言 时间:
2017-10-17 09:53:51
阅读次数:
268
一、简介。(1.8JDK) 基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。 除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操 ...
分类:
编程语言 时间:
2017-10-11 20:24:29
阅读次数:
270
"Stdent.h"头文件 #ifndef _STUDENT_H_#define _STUDENT_H_#include <iostream>#include <string>#include <fstream>using namespace std; //存放学生基本信息的结构体struct st ...
分类:
其他好文 时间:
2017-10-01 13:36:51
阅读次数:
180