base

栈与队列应用:二进制转十进制 八进制 十六进制(栈)

China☆狼群 提交于 2020-03-14 12:48:44
1 //将二进制转化为十进制(利用后入先出的特点) 2 //二进制数 1101001 3 /* top 4 1 5 0 6 0 7 1 8 0 9 0 10 1 11 1 base */ 12 13 #include<stdio.h> 14 #include<stdlib.h> 15 #include<math.h> 16 17 #define STACK_INIT_SIZE 20 18 #define STACKINCREMENT 10 19 20 typedef char ElemType; //如果用int则相当于给计算机一个整形 21 22 typedef struct 23 { 24 ElemType *base; 25 ElemType *top; 26 int stackSize; 27 }sqStack; 28 29 void InitStack(sqStack *s) 30 { 31 s->base = (ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemType)); 32 if(!s->base) 33 { 34 exit(0); 35 } 36 s->top = s->base; //初始化栈顶等于栈底 37 s->stackSize = STACK_INIT_SIZE; 38 } 39 40 void Push

栈与队列:栈的顺序储存结构

随声附和 提交于 2020-03-14 12:39:20
1.栈的元素必须后进先出 2.栈的操作只能在线性表的表尾进行 3.对于栈,栈的表尾称为栈顶(top),相应的表头称为栈底(bottom)。 栈的插入操作(push)叫进栈,也叫压栈,入栈。 栈的删除操作(Pop),叫出栈,也叫弹栈。 //栈基本操作 //栈的顺序存储结构 #define STACK_INIT_SIZE 100 typedef struct { ElemType *base; //base是指向栈底的指针变量 ElemType *top; //top是指向栈顶的指针变量 int stackSize; //stackSize指示栈的当前可使用的最大容量 }sqStack; //初始化 initStack(sqStack *s) { s->base = (ElemType *)malloc(STACK_INIT_SIZE*(ElemType)); if(!s->base) exit(0); s->top = s->base; //最开始栈顶就是栈底 s->stackSize = STACK_INIT_SIZE; } //入栈 每次向栈中压入一个数据,top指针+1,直到栈满为止 #define SATCKINCREMENT 10 //增量 Push(sqStack *s,ElemType e) { //如果栈满,追加空间 if(s->top - s->base >= s-

C++继承学习代码详解

我们两清 提交于 2020-03-07 19:18:13
4.6 继承 继承是面向对象三大特性之一 我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。 这个时候我们就可以考虑利用继承的技术,减少重复代码 4.6.1 继承的基本语法 例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同 接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看一下继承存在的意义以及好处 普通实现: //Java页面 class Java { public: void header() { cout << "首页、公开课、登录、注册...(公共头部)" << endl; } void footer() { cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl; } void left() { cout << "Java,Python,C++...(公共分类列表)" << endl; } void content() { cout << "JAVA学科视频" << endl; } }; //Python页面 class Python { public: void header() { cout << "首页、公开课、登录、注册...(公共头部)" << endl; } void footer() { cout << "帮助中心、交流合作、站内地图...(公共底部)" <

"base href " jsp中必不可少的一句

风流意气都作罢 提交于 2020-03-06 21:05:13
今天在写一个JSP网页的时候,href不能用了,所有href鼠标放上去前面现实的都是“http:///”,竟然有三个“/”,而且前面也没有显示“localhost:8080”找了大半天找不出来,最后才发现不小心将Eclipse自动生成的下面两行代码误删了, <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> 我一直没有使用path 和 basepath ,为什么会这样呢,最后终于发现,原来在 <head></head>中,有一句 <base href="<%=basePath%>"> 使用了basepath,就是因为这句,所有的链接才不能使用了。看来问题就出在base href 上了,顾名思义,base href不是就是基链接嘛。 上网搜索了一下,原来base href 不单单只有这么点作用,尤其在框架中。 资料如下: base标记是一个基链接标记,是一个单标记。用以改变文件中所有连结标记的参数内定值。它只能应用于标记<head>与</head>之间。 你网页上的所有相对路径在链接时都将在前面加上基链接指向的地址。 重要属性:

python多继承

穿精又带淫゛_ 提交于 2020-03-01 16:49:34
python支持多继承 通过__mro__可查找继承列表,他是根据mro算法排列继承顺序 按照 __mro__ 的输出结果 从左至右 的顺序查找可继承方法 来看一个例子 class Base: def __init__(self): print("Base") class Human(Base): def __init__(self): super().__init__() print("Human") class Job(Base): def __init__(self): super().__init__() print("Job") class Teacher(Human, Job): def __init__(self): super().__init__() print("Teacher") if __name__ == "__main__": teacher = Teacher() print(Teacher.__mro__) 结果: Base Job Human Teacher (<class '__main__.Teacher'>, <class '__main__.Human'>, <class '__main__.Job'>, <class '__main__.Base'>, <class 'object'>) 来源: https://www.cnblogs

libevent -bufferevent

大兔子大兔子 提交于 2020-03-01 15:30:48
bufferevent 是在libevent 的reactor的模式里存在的Proactor模式,在event的基础上维护了自己的一个buffer ,我们不再关心数据的读写实际的操作,bufferevent自己实现了缓冲的绑定,当有读数据就绪时,就调用buffer_read 读走数据,或者调用buffer_write 写入给定数据,当出现错误,buffevent有自己的错误处理机制,达到了异步I/O struct bufferevent { struct event_base *ev_base; struct event ev_read; struct event ev_write; struct evbuffer *input;//接收数据缓冲 struct evbuffer *output;//发送数据缓冲 struct event_watermark wm_read; struct event_watermark wm_write; evbuffercb readcb;//读回调函数指针 evbuffercb writecb;//写回调函数指针 everrorcb errorcb;//错误回调函数指针 void *cbarg; int timeout_read; /* in seconds */ int timeout_write; /* in seconds */

ubuntu下的Memcached安装与测试

ε祈祈猫儿з 提交于 2020-03-01 14:34:58
ubuntu下的Memcached安装与测试 由于memcached依赖于libevent;因此,还需要安装libevent,命令如下: sudo apt-get install libevent-dev 如果libevent无法直接安装,则到官网下载一个http://libevent.org (base) root@ubuntu:/home/shaodi/Downloads/libevent-2.1.11-stable# ./configure (base) root@ubuntu:/home/shaodi/Downloads/libevent-2.1.11-stable# make (base) root@ubuntu:/home/shaodi/Downloads/libevent-2.1.11-stable# make install 查看是否安装成功 (base) root@ubuntu:/home/shaodi/Downloads/libevent-2.1.11-stable# ls -al /usr/local/lib | grep libevent 最后安装memcached sudo apt-get install memcached 启动Memcached (base) root@ubuntu:/home/shaodi/Downloads# memcached

内核定时任务timer_list

孤人 提交于 2020-02-29 19:35:54
使用定时器任务,可以让内核在将来的一个指定时刻执行一段指定的代码。内核定时器相关的接口在linux/timer.h文件中。 本文将会先介绍定时任务的使用,然后在此基础上了解其内部的实现逻辑。 一、定时任务结构体表示: struct timer_list { struct list_head entry; //用于链接到内核定时器链表中 unsigned long expires; //定时任务过期时间 void (*function)(unsigned long); //定时任务的工作函数 unsigned long data; //定时任务工作函数参数 struct tvec_base *base; //定时任务关联的内核定时器 #ifdef CONFIG_TIMER_STATS void *start_site; char start_comm[16]; int start_pid; #endif #ifdef CONFIG_LOCKDEP struct lockdep_map lockdep_map; #endif }; 二、定时任务相关的接口: 1. 初始化定时任务 #define TIMER_INITIALIZER(_function, _expires, _data) { \ .entry = { .prev = TIMER_ENTRY_STATIC }, \

在linux上使用yum安装JDK

主宰稳场 提交于 2020-02-29 17:02:42
1.查找java相关得列表 [root@localhost ~]# yum -y list java* Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile base: mirrors.zju.edu.cn extras: mirrors.aliyun.com updates: mirrors.aliyun.com base | 3.7 kB 00:00 extras | 3.4 kB 00:00 updates | 3.4 kB 00:00 Installed Packages java-1.5.0-gcj.x86_64 1.5.0.0-29.1.el6 @base/$releasever java-1.6.0-openjdk.x86_64 1:1.6.0.0-1.45.1.11.1.el6 @base/$releasever java_cup.x86_64 1:0.10k-5.el6 @base/$releasever Available Packages java-1.5.0-gcj-devel.x86_64 1.5.0.0-29.1.el6 base java-1.5.0-gcj-javadoc.x86_64 1.5.0.0

EulerOS安装net-tools报错

醉酒当歌 提交于 2020-02-28 21:00:19
在docker中执行 yum install net-tools 报错 Error: Package: glibc-2.17-222.h15.eulerosv2r7.i686 (base) Requires: glibc-common = 2.17-222.h15.eulerosv2r7 Installed: glibc-common-2.17-222.h16.eulerosv2r7.x86_64 (installed) glibc-common = 2.17-222.h16.eulerosv2r7 Available: glibc-common-2.17-222.h6.eulerosv2r7.x86_64 (base) glibc-common = 2.17-222.h6.eulerosv2r7 Available: glibc-common-2.17-222.h12.eulerosv2r7.x86_64 (base) glibc-common = 2.17-222.h12.eulerosv2r7 Available: glibc-common-2.17-222.h13.eulerosv2r7.x86_64 (base) glibc-common = 2.17-222.h13.eulerosv2r7 Available: glibc-common-2.17-222.h15