interface Stack { _items: any push(element: any): void pop(): any top(): any size(): any isEmpty(): any clear(): any } //用Symbol添加私有属性 class Stack { _items: any = Symbol() constructor() { this._items = [] } push(element: any): void { this._items.push…
JS的class可以通过extends关键字实现类似其他语言的继承效果,比起使用一个extends关键字,在es5中实现继承要复杂一些,可以通过修改原型链的方法实现继承,让一个原型对象等于另一个类型的实例等等,虽然也能够实现,但是不够直观. constructor()方法中的super()表示调用父类的构造函数,在这里就是调用SIngleList类里面的构造函数. 接下来就可以使用SingleList类中已经实现的函数了,但是由于单向循环链表的某些操作还是不同于单链表的,所以对SingleLis…
如今终于到了双向链表了,此前在Node结构中的prev指针终于派上了用场.由于双向链表多了一个前向指针,所以有些操作和单向链表比较起来反而更加的简单. class DbList extends CirListNode { constructor() { super(); } /** * * @param item 插入的位置 * @param element 插入的值 * 1.插入的元素在中间的位置,一步将新节点的next指针指向插入节点的下一个节点,再将插入节点的下一个节点的prev指针指向新…
interface NodeItem { prev: NodeItem | null next: NodeItem | null data: any } class NodeItem { prev: NodeItem | null = null next: NodeItem | null = null constructor(data: any) { this.data = data ? data : null; } } interface ListNode { head: any size:…
// zhan.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using namespace std; typedef struct stacknode { int data; struct stacknode *next; }stacknode,*LinkStack; //判断栈为空 int StackEmpty(LinkStack &top) { if(top ->next…
由于现在只学了C语言所以就写这个C语言版的栈的基本操作 这里说一下 :网上和书上都有这种写法 int InitStack(SqStack &p) &p是取地址  但是这种用法好像C并不支持 ,C++才支持,所以用 C语言写就需要使用指针 代码如下: #include <stdio.h> #include <stdlib.h> #define STACK_INIT_SIZE 100//储存空间初始分配量 #define STACKINCREMENT 10//存储空间分…
菜鸟nginx源代码剖析数据结构篇(九) 内存池ngx_pool_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Date:Nov 11th, 2014 今天是一年一度的光棍节.还没有女朋友的程序员童鞋最好还是new一个出来,内存管理一直是C/C++中最棘手的部分.远不止new/delete.malloc/free这么简单. 随着代码量的递增,程序结构复杂度的提高.今天我们就…
菜鸟nginx源码剖析数据结构篇(九) 内存池ngx_pool_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Date:Nov 11th, 2014 今天是一年一度的光棍节,还没有女朋友的程序猿童鞋不妨new一个出来,内存管理一直是C/C++中最棘手的部分,远不止new/delete.malloc/free这么简单.随着代码量的递增,程序结构复杂度的提高.今天我们就一起研究…
数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 堆栈是一种基本的数据结构.堆栈具有两种基本操作方式,push 和 pop.push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出.现在我们就来验证一下堆栈的使用. Input 首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入. 对于每组测试数据,第一行输入两个正整数 m(1 <= m &…
菜鸟nginx源代码剖析数据结构篇(一)动态数组ngx_array_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.csdn.net/chen19870707 Date:October 20h, 2014 1.ngx_array优势和特点 ngx_array _t是一个顺序容器.支持达到数组容量上限时动态改变数组的大小,类似于STL中vector.具有下面特性: 下标直接索引.訪问速度快 动态增长 由slab内存池统一…