node

链表处理

一笑奈何 提交于 2020-01-30 04:00:09
0、为链表节点(动态)分配内存空间、释放 C++下面的new使用方便,比较推荐 //malloc的申请方式 typename * p = ( typename * ) malloc ( sizeof ( typename ) ) ; int * p = ( int * ) malloc ( sizeof ( int ) ) ; node * p = ( node * ) malloc ( sizeof ( node ) ) ; //new的申请方式(c++中的) typename * p = new typename ; int * p = new int ; node * p = new node ; //释放 free ( p ) ; //----malloc delete ( p ) ; //----new 1、创建链表 //创建链表 # include <stdio.h> # include <stdlib.h> struct node { int data ; node * next ; } ; node * creat ( int Array [ ] ) { //node* 这是这个函数返回的类型 node * p , * pre , * head ; //pre保存当前节点的前驱节点 head = new node ; head - > next = NULL ;

nvm的安装和使用

送分小仙女□ 提交于 2020-01-30 02:47:08
nvm作用:通过 nvm-windows 管理一台计算机上的多个 node 版本。 一、基本命令和简介 Node Version Manager(Node 版本管理器) nvm (Linux、Unix、OS X) https://github.com/creationix/nvm 产用命令: nvm install node (安装最新版本的node) nvm use node (使用指定版本的node) nvm-windows (Windows) https://github.com/coreybutler/nvm-windows 常用命令: nvm version # 查看nvm版本 nvm list available # 可安装的版本list nvm install latest # 安装最新版本的NodeJS nvm install 版本号 # 安装指定版本的NodeJS nvm uninstall 版本号 # 卸载指定版本的NodeJS nvm list # 查看已安装的NodeJS版本 nvm use 版本号 # 切换到指定的NodeJS 二、安装步骤 下载: https://github.com/coreybutler/nvm-windows/releases/download/1.1.7/nvm-noinstall.zip https://github.com

我的伟大航路(8)

跟風遠走 提交于 2020-01-30 02:27:13
今天的内容是把昨天的栈和队列补上 今天学了循环链表、双向链表、循环双向链表,以及昨天的栈和队列 栈 栈是一种后进先出的结构,对于栈的用处我一直有疑惑,但是我思考以后,想,栈的用途与它的特点是离不开的,后进先出的特点,优再先进去的数,最后才可以处理,就像再数学算法中的小括号()的,只有当匹配到一对括号时,才可以运算,这种思想恰好可以推及到程序编写 先上栈信息 信息包括节点数据(也就是内容) 以及一个构造方法 public class MyStack { int [ ] elements ; public MyStack ( ) { elements = new int [ 0 ] ; } 压栈方法 //压栈 public void push ( int element ) { //创建一个新的数组,长度是原数组加一 int [ ] newArr = new int [ elements . length + 1 ] ; //将原数组中的所有的数据转到新数组中,因为循环的范围是原数组 //长度,所以新数组的最后一个是空的 for ( int i = 0 ; i < elements . length ; i ++ ) { newArr [ i ] = elements [ i ] ; } //赋值新数组的最后一个数 newArr [ elements . length ] =

node 简单文件写入、读取

放肆的年华 提交于 2020-01-30 02:24:55
**简单文件的写入** 通过require引入fs模块 同步 fs.writeFileSync(路径,'内容',{encoding:'utf8',mode:0o66,flag:'w'}写入配置信息json对象/可选) 异步 fs.writeFile(路径,'内容',{encoding:'utf8',mode:0o66,flag:'w'}写入配置信息json对象/可选,回调函数(err对象)) 通过改变配置json信息 {flag:'a'} 打开追加模式 **简单的文件读取** 异步 fs.readFile(路径,{配置信息json},回调函数(err对象,data数据为Buffer)) 在回调函数中data.toString()获取文件内容 同步 fs.readFileSync(路径,{配置信息json}) 代码示例: var fs = require ( 'fs' ) ; fs . writeFile ( 'C:/Users/10853/Desktop/td.txt' , 'memem哈哈' , { flag : 'a' } , function ( err ) { if ( ! err ) { console . log ( '写入成功' ) ; } } ) var fs = require ( 'fs' ) ; fs . readFile ( 'C:/Users/10853

图解Elasticsearch容错机制:master选举,replica容错,数据恢复

巧了我就是萌 提交于 2020-01-30 02:06:50
(1)9 shard,3 node (2)master node宕机,自动master选举,red (3)replica容错:新master将replica提升为primary shard,yellow (4)重启宕机node,master copy replica到该node,使用原有的shard并同步宕机后的修改,green 来源: CSDN 作者: 潇凝子潇 链接: https://blog.csdn.net/xu990128638/article/details/104108495

广搜 BFS()

我是研究僧i 提交于 2020-01-30 01:25:08
  极其简陋的BFS模板 1 void BFS(???){ 2 queue<node>q; 3 node start, next; 4 start = ???; 5 q.push(start); 6 7 while(!q.empty()){ 8 start = q.front(); 9 q.pop(); 10 11 //一系列迷幻操作 12 next = ???; 13 if(???) 14 q.push(next); 15 } 16 } 来源: https://www.cnblogs.com/0424lrn/p/12241953.html

二叉树的创建与递归和非递归遍历

瘦欲@ 提交于 2020-01-29 23:53:28
二叉树的常规操作就是遍历,这也是二叉树的基本功之一 class TreeNode(): def __init__(self, x): self.val = x self.left = None self.right = None class BinaryTree(object): def __init__(self, pre, tin): self.pre = pre self.tin = tin self.levelTrave = [] # 层次遍历结果 self.preTraveRecur = [] # 前序递归遍历结果 self.preTraveNoRecur = [] # 前序非递归遍历结果 self.inTraveRecur = [] # 中序递归遍历结果 self.inTraveNoRecur = [] # 中序非递归遍历结果 self.postTraveRecur = [] # 后序递归遍历结果 self.postTraveNoRecur = [] # 后序非递归遍历结果 # 利用前序遍历和中序遍历结果重建二叉树 def reConstructBinaryTree(self, pre, tin): # pre为前序遍历结果,tin为中序遍历结果 if len(pre) == 0: return None if len(pre) == 1: return

K8s

穿精又带淫゛_ 提交于 2020-01-29 23:46:56
K8s: 开源的容器集中管理系统,使用go语言开发,用于管理云平台中多个主机上的容器化应用 Kubernetes 特性: K8s的目标是让部署容器化的应用简单并且高效提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。 1.自我修复 2.弹性伸缩 3.自动部署和回滚 4.服务发现和负载均衡 5.机密和配置管理 6.存储编排 7.批量处理 Kubernetes集群构架与组件: K8s属于主从分布式架构,主要由master和worker node组成,包括客户端命令行工具kubectl和其它附加项。 Master作为控制节点,对集群进行统一的调度和管理,增删改查。 Worker Node:作为真正的工作节点,运行业务应用的容器,node由master管理,node负责监控并汇报容器的状态。 kubectl:客户端工机具,用于通过命令行与API Server进行交互,对Kubernetes集群进行操作,实现在集群中进行各种资源的增删改查等操作。 Kubernetes 组件介绍: Master组件:集群控制管理节点,负责管理集群,所有的命令都经由master处理,拥有Etcd存储服务,运行Api Server进程,Controller Manager服务进程及Scheduler服务进程,关联工作节点Node。

ELK-7.0安装部署收集展示

假装没事ソ 提交于 2020-01-29 22:16:11
前言 什么是ELK? 通俗来讲,ELK是由Elasticsearch、Logstash、Kibana 三个开源软件的组成的一个组合体,这三个软件当中,每个软件用于完成不同的功能,ELK 又称为ELK stack,官方域名为stactic.co,ELK stack的主要优点有如下几个: 处理方式灵活: elasticsearch是实时全文索引,具有强大的搜索功能 配置相对简单:elasticsearch全部使用JSON 接口,logstash使用模块配置,kibana的配置文件部分更简单。 检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。 集群线性扩展:elasticsearch和logstash都可以灵活线性扩展 前端操作绚丽:kibana的前端设计比较绚丽,而且操作简单 什么是Elasticsearch: 是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供API接口,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能 什么是Logstash: 可以通过插件实现日志收集和转发,支持日志过滤,支持普通log、自定义json格式的日志解析。 什么是kibana: 主要是通过接口调用elasticsearch的数据,并进行前端数据可视化的展现。 一

深挖NUMA

女生的网名这么多〃 提交于 2020-01-29 22:10:40
首先列出本站之前相关的几篇帖子: Linux的NUMA机制 NUMA对性能的影响 cgroup的cpuset问题 这次,就来深入了解下NUMA。 就如之前说的,在若干年前,对于x86架构的计算机,那时的内存控制器还没有整合进CPU,所有内存的访问都需要通过北桥芯片来完成。此时的内存访问如下图所示,被称为UMA( uniform memory access, 一致性内存访问 )。这样的访问对于软件层面来说非常容易实现:总线模型保证了所有的内存访问是一致的,不必考虑由不同内存地址之前的差异。 之后的x86平台经历了一场从“拼频率”到“拼核心数”的转变,越来越多的核心被尽可能地塞进了同一块芯片上,各个核心对于内存带宽的争抢访问成为了瓶颈;此时软件、OS方面对于SMP多核心CPU的支持也愈发成熟;再加上各种商业上的考量,x86平台也顺水推舟的搞了NUMA(Non- uniform memory access, 非一致性内存访问 )。 在这种架构之下,每个Socket都会有一个独立的内存控制器IMC( integrated memory controllers, 集成内存控制器 ),分属于不同的socket之内的IMC之间通过QPI link通讯。 然后就是进一步的架构演进,由于每个socket上都会有多个core进行内存访问