在编程领域,数据结构与算法向来都是提升编程能力的重点。而一般常见的数据结构是链表,栈,队列,树等。事实上C#也已经封装好了这些数据结构,在头文件 System.Collections.Generic 中,直接创建并调用其成员方法就行。不过我们学习当然要知其然,亦知其所以然。 本文实现的是链表中的单链 ...
双向链表简介 在循环链表中虽然能够实现从任一一结点出发找到其前驱,但时间复杂度是O(n),从表中希望迅速找到其前驱,可为每个结点增加一个指向其前驱的指针prior,这样链表中有两条方向不同的链,称为双向链表 p指向双向链表中某一结点,以下成立 建立双向链表 双向链表的插入 指针变化情况 双向链表的删 ...
分类:
其他好文 时间:
2018-09-24 13:44:46
阅读次数:
191
参考双循环链表就是头尾相连,并且每一个结点都可以指向它的前驱和后继的链表。 java代码实现 双向链表类 节点类 测试类 主要代码分析 结果 参考: http://www.cnblogs.com/skywang12345/p/3561803.html https://www.cnblogs.com/ ...
分类:
其他好文 时间:
2018-09-24 00:32:18
阅读次数:
180
You are given a doubly linked list which in addition to the next and previous pointers, it could have a child pointer, which may or may not point to a ...
分类:
其他好文 时间:
2018-09-21 21:39:58
阅读次数:
276
list是一个接口,实现类:Arraylist,Vector,Linkedlist list接口: 常用方法 排除Collection中具有的之外的 添加功能 void add(int index, E element):在指定位置添加元素 boolean addAll(int index, Col ...
分类:
编程语言 时间:
2018-09-21 19:46:28
阅读次数:
214
Java 面试知识点解析(一)——基础知识篇 前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大部分内容参照自这一篇文章,有一些自己补充的,也算是重新 ...
分类:
编程语言 时间:
2018-09-21 11:35:24
阅读次数:
182
剖析epoll机制 "Linux epoll机制" ; 写这篇文章的原因是, 上次百度面试被问到一个事件怎么添加到epoll的双向链表中的; 这个问题比较深入, 涉及到内核的实现问题, 今天就来理解一下; epoll和select/poll完全不同, epoll通过在Linux内核中申请一个简易的文 ...
分类:
其他好文 时间:
2018-09-17 00:06:17
阅读次数:
165
转自:https://blog.csdn.net/Together_CZ/article/details/74906427 1.面试7:使用两个栈实现一个队列。 //猛一看有点晕,实际上很简单。 使用两个栈,一个是保存输入S1,另一个是输出S2; 当有新元素插入到队尾时,就将元素放入S1中; 当要删 ...
分类:
其他好文 时间:
2018-09-16 16:09:04
阅读次数:
116
#include<iostream>using namespace std; //节点struct Node{ int data; Node* next; Node* prev;}; //链表类 class LinkList {private: Node * head;public: void Ad ...
分类:
编程语言 时间:
2018-09-15 21:59:13
阅读次数:
341
package lru; import java.util.HashMap; public class LRUCache2 { public final int capacity; class DNode{ K key; V value; DNode next; DNode pre; public.... ...
分类:
编程语言 时间:
2018-09-15 13:52:00
阅读次数:
209