染小白。

Give Me, The World I Want。
私信 关注
染小白
码龄7年

Give Me,The World I Want。

  • 184,216
    被访问量
  • 58
    原创文章
  • 56,473
    作者排名
  • 30
    粉丝数量
  • 毕业院校 山东大学
  • 目前就职 百度在线科技有限公司
  • 于 2014-03-24 加入CSDN
获得成就
  • 获得52次点赞
  • 内容获得13次评论
  • 获得113次收藏
荣誉勋章
兴趣领域
  • #前端
    #WebPack#Vue.js#Node.js#前端框架#JavaScript#HTTPS#面试#Flutter#React.js#TypeScript#ECMAScript 6
TA的专栏
  • css特性与原理
  • 前端面试题集
  • 前端项目实践
    27篇
  • 数据结构与算法
    4篇
  • 数据可视化
    4篇
  • JavaScript
    7篇
  • Vue
    11篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

【数据可视化】数据可视化七大发展趋势

根据云栖社区文章整理,2017年全球深度报道大会针对数据可视化趋势。1. 玩转地图Groeger表示,目前的可视化技术水平已经远远超出了Google Maps,而且每天都会出现很多实验性的技术。 “现在你可以用地图来讲故事。例如,蒂姆·华莱士制作的这张地图就根据每个洲的投票情况来展示美国的领土情况。”
原创
594阅读
0评论
2点赞
发布博客于 4 年前

vue获取属性值的方式

vue的一个优势是通过数据绑定减少直接DOM操作,不过有时候需要获取某个标签的属性或设置某个标签的样式,那么其方式如下:1. 通过$refs获取<button @click="toHide" ref="mybtn" data-msg="HIDE">按钮</button>methods:{ toHide(){ let msg = this...
原创
5332阅读
0评论
1点赞
发布博客于 2 年前

【javascript】使用正则表达式验证

管理系统项目上用到的正则表达式验证:一、验证手机号码最新的手机号验证。function checkMobilePhone(str){ var reg = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/; if(!reg.test(str)){ alert("...
原创
156阅读
0评论
0点赞
发布博客于 3 年前

【css特性与原理】单行文本与多行文本垂直居中的实现与原理

面试题中经常会问到垂直居中的问题,对于文本垂直居中大多数人只清楚单行文本垂直居中的实现,对于多行文本垂直居中的实现及原理可能就不甚了解了。一、单行文本垂直居中惯性思维是设置line-height和height为相同值,就可以实现单行文本的垂直居中。其实由于line-height的行高上下等分机制,只设置line-height即可实现垂直居中,如下:<style> .text { line-height: 30px; background: #cff;}</styl.
原创
143阅读
0评论
0点赞
发布博客于 9 月前

vue路由传参跳转页面的三种方式

1. query// route/index.js路由配置文件{ path: '/detail', component: Detail}// 跳转源页面this.$router.push({ path: '/detail', query: { name: 'Elsa', id: 1 }})// 跳转后页面获取...
原创
270阅读
0评论
1点赞
发布博客于 1 年前

如何上传项目到Github

记忆像鱼,以备回顾。一、创建本地仓库1. 首先,安装git和注册github略过。2. 在本地创建一个项目文件夹,右击打开git bash命令行窗口,执行git init命令。 命令执行后,在该项目的文件夹中会增加了一个.git文件夹,该文件夹是Git用来跟踪和管理版本库的。3. 需要上传到Github的代码就可以放在该文件夹中,通过git add等命令添加上传。二、...
原创
69阅读
0评论
0点赞
发布博客于 2 年前

获取天气预报的免费接口

一、接口网址接口文档:https://www.tianqiapi.com/?action=v1用户中心:https://www.tianqiapi.com/user/二、使用 getWeather() { axios({ url: 'https://www.tianqiapi.com/api/', ...
原创
1356阅读
1评论
0点赞
发布博客于 2 年前

基于高德地图的轨迹绘制与轨迹回放

load2DMap() { var tableData = this.tableData; var lineArr = this.lineArr; // 路径数组(二维数组,格式如[ [117.139161, 36.667547], [117.139170, 36.667689]]) va...
原创
3092阅读
0评论
1点赞
发布博客于 2 年前

使用websocket实现浏览器与服务端进行双向通信(Vue springboot)

一、websocket介绍通常服务端想主动给前端推送信息的话,需要使用轮询技术,即在特定的时间间隔(比如每1秒),浏览器通过调用服务端的接口向服务端发送http请求,服务端将最新的数据发送给浏览器。这种方式在性能上有明显的缺点,即浏览器需要不断向服务器发送请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然会浪费很多的宽带资源。而HTML5的websock...
原创
590阅读
1评论
0点赞
发布博客于 2 年前

【SVG】路径 - 椭圆弧

<!DOCTYPE html><html><head></head><body> <svg id="mysvg" width="400" height="300" xmlns="http://www.w3.org/2000/svg" > <!-- 灰色投影 --> ...
原创
427阅读
0评论
3点赞
发布博客于 2 年前

【SVG】入门 - 画猫

<!DOCTYPE html><html><head></head><body> <svg id="mysvg" width="350" height="160" xmlns="http://www.w3.org/2000/svg"> <title>Cat</ti...
原创
131阅读
0评论
2点赞
发布博客于 2 年前

关于前端缓存优化

关于缓存,大概可以分为以下几种:① CDN缓存② DNS缓存③ 客户端缓存(无需请求的memory cache,disk cache;需要发请求验证的Etag/Last-Modified304)④ Service Worker与缓存及离线缓存⑤ PageCache与ajax缓存一、 CDN缓存CDN可以理解为分布在每个县城或乡镇的火车票代售点,用户在浏览网站时,C...
原创
1876阅读
0评论
1点赞
发布博客于 2 年前

前端基础

1. 什么是jsonp?从请求-响应模式说起,用户每次请求新的内容,需要向后台发一条请求,在互联网刚开始的时候,即使你只想获取网页某一处的内容更新,也要向后台请求一个新的完整网页,即使这个网页只有一小处变化,这就浪费了很大的资源,因为只需要更新一小块内容,却要反复请求相似的内容。所以,人们就想了一些解决办法,使用iframe,动态js请求,xhr(ajax)。jsonp就是动态js请求,是...
原创
98阅读
0评论
0点赞
发布博客于 2 年前

扎实javascript基础语法

记录一些基础而常用的知识点。1. js获取数组最值var array=[1,4,2,6,3,9];var min_val = Math.min.apply(null, array);var max_val = Math.max.apply(null, array);其中第一个参数null,这个是因为没有对象去调用这个方法,所以直接传递null过去。总结,Math的常用...
原创
87阅读
0评论
0点赞
发布博客于 2 年前

【javascript】slideToggle() 方法实现点击标题显示隐藏内容

简单来说,要实现的效果就是点击标题时显示或隐藏内容,效果图如下常见问题这样:常用方法可以增加一个标识来判断是展开还是隐藏状态,而使用jq的slideToggle() 方法可以轻松实现这个效果。代码如下:function QuestionsOpenOrNot() { this.init();}QuestionsOpenOrNot.prototype = { cons...
原创
870阅读
0评论
0点赞
发布博客于 2 年前

【js】获取鼠标点击位置坐标

1.原生js&lt;html&gt;&lt;head&gt; &lt;script type="text/javascript"&gt; function show_coords(event){ x=event.clientX y=event.clientY alert("X 坐标: " + x + ", Y 坐标: " + y) } &lt;/scrip
原创
6711阅读
0评论
3点赞
发布博客于 2 年前

【Vue】二级联动下拉表单

如上图所示,需要的功能就是当我选择学校后,能根据该学校的id再去动态获取学院列表信息。思路就是给选择学校时添加个change事件。代码如下: &lt;ul&gt; &lt;li&gt; &lt;p&gt; &lt;select id="universityId" v-on:change="choo...
原创
1554阅读
0评论
0点赞
发布博客于 2 年前

【vue】video结合cyberplayer.js实现flv视频播放

一、原理H5新增的&lt;video&gt;标签可以用于视频播放,但格式有限,播放不了直播生成的.flv视频。那么可以结合cyberplayer.js来实现.flv视频播放,简单粗暴。原理如下:① 下载该库,并在index.html中引入&lt;script type='text/javascript' src="./static/js/cyberplayer-3.4.1/cyb...
原创
3021阅读
0评论
0点赞
发布博客于 2 年前

【vue】vue使用x2js解析xml文件

一、功能需求实验室的项目需要添加直播功能,获取到直播流网址如下图所示:这是一个xml网址,需要解析这个xml网址获取到正在直播的rtmp地址,以进行直播展示。jq使用get或ajax解析xml文件在vue框架里似乎行不通了。搜索发现了x2js插件,用于在XML和JavaScript对象之间进行转换的库。二、x2js安装配置可以使用npm安装或者到https://github...
原创
6294阅读
4评论
2点赞
发布博客于 2 年前

【Vue踩坑之旅】在element的dialog中显示高德地图

一、问题及解决思路高德地图在页面中引用能够正常显示,但是想在弹框中显示高德地图并进行操作,却显示为空白......很奇怪,为什么在页面中能够显示,在对话框里就不能显示了。首先让弹框一开始就显示,并给地图加载增加了3秒延迟,3秒后地图正常显示。喏,看来是组件初始化的时候容器dom还没渲染,因此需要使用nextTick。其次查看element ui的源码,会发现 &lt;div cla...
原创
5458阅读
2评论
1点赞
发布博客于 2 年前

【Vue】Vue项目打包发布到服务器,以及空白页或图片不显示问题

一、Vue项目打包Vue项目完成后,需要打包上线。打包只需要执行命令npm run build即可,但有两点需要注意的地方,否则就会出现空白页或图片不显示问题。① 修改路径位置,解决空白页问题。     修改位于项目目录中的config/index.js,将assetsPublicPath: '/'修改为assetsPublicPath: './',注意有两处。如下:     ...
原创
4709阅读
0评论
1点赞
发布博客于 2 年前

【Vue】以登录token为例,理解vuex状态管理使用

一、Vuex概念       Vue.js通过Vuex对组件的公共状态进行集中管理。每一个 Vuex 应用的核心是 store(仓库),“store”可以理解为是一个容器,包含着应用中大部分的状态 (state)。这些状态是全局的,但Vuex 和单纯的全局对象有以下两点不同:    ① Vuex 的状态存储是响应式的。 Vue 组件从 store 中读取状态时,若 store 中的状态发生...
原创
4455阅读
0评论
0点赞
发布博客于 3 年前

token实现登录状态保持/身份认证的机制

实现登录状态保持与身份认证的方式通常有两种:session结合数据库、token。两者相比较,token有较多优点。① token可以存储在任何位置(比如cookie或local storage)② token更容易跨域③ token过期时可以通过刷新token,让用户一直保持有效登录④ 如果api在不同终端上,token更方便安全 二、token原理其过程大致...
原创
21104阅读
1评论
17点赞
发布博客于 3 年前

【采坑之路】给后台传数据失败的解决方法

采用vue+axios给后台传送数据,前端看到的如下:后台看到的却是:解决方法有两点:① 传数据使用params而不是data② 更改headers的Content-Type为 application/x-www-form-urlencoded axios({ url:"http://211.87.235.245:8082/test/delete"...
原创
474阅读
0评论
0点赞
发布博客于 3 年前

【采坑之路】 axios 的跨域问题

最近学了一下vue,尝试做一个管理网站,使用axios请求后台接口数据时,又难免掉进了跨域坑中,报错如下403:根据报错提示“XMLHttpRequest has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.”,可以得知...
原创
5789阅读
0评论
0点赞
发布博客于 3 年前

【javascript】数组去重的五种方法

题目:请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。参考答案1: Array.prototype.distinct = function() {         for(var i = 0; i&lt;this.length; i++){             for(var j ...
原创
120阅读
0评论
0点赞
发布博客于 3 年前

【JavaScript】JS处理32位整型位运算

由上一篇leetcode题目(反转整数)中所涉及到的js整型范围,针对js如何处理32位整数运算原理以作扩展:1、32位整数运算首先要清楚,在JS中无论是整数还是小数都是按照64位的浮点数形式存储,而整数运算会自动转化为32位有符号整数。有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数。数值范围为 [-2^31 , 2^31-1], 即[...
原创
3510阅读
0评论
1点赞
发布博客于 3 年前

【leetcode】Reverse Integer(整数、字符串和数组之间转换)

Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21Note:Assume we are de...
原创
1029阅读
0评论
0点赞
发布博客于 3 年前

【Vue】如何使用脚本架工具vue-cli快速创建vue项目

对于初学小白,webpack迷迷糊糊,写vue已经够辛苦的了,奈何还要自己配置webpack......其实有帮助我们更好更快速开发代码的工具——vue-cli一、安装常用的有cli2和cli3两个版本,至此,cli2非常成熟,cli3相对成熟而更加强大。cli2:npm install -g vue-clicli3:npm install -g @vue/cli...
原创
336阅读
0评论
0点赞
发布博客于 3 年前

【采坑之路】You may need an appropriate loader to handle this file type.

开启vue之旅,也是开始采坑之旅了。这是一个京东购物车小案例,采用组件化开发,将html静态页面拆分成一个个组件,采用webpack打包时,引用的图片明明存在但报错如下:ERROR in ./jd-shopcarts/assets/images/icon-kin.png 1:0Module parse failed: Unexpected character '�' (1:0)You...
原创
47955阅读
2评论
1点赞
发布博客于 3 年前

【采坑之路】You may need an appropriate loader to handle this file type.

开启vue之旅,也是开始采坑之旅了。这是一个京东购物车小案例,采用组件化开发,将html静态页面拆分成一个个组件,采用webpack打包时,引用的图片明明存在但报错如下:ERROR in ./jd-shopcarts/assets/images/icon-kin.png 1:0Module parse failed: Unexpected character '�' (1:0)You...
原创
47955阅读
2评论
1点赞
发布博客于 3 年前

【leetcode】Two Sum 及几种js数组循环

Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same...
原创
70阅读
0评论
0点赞
发布博客于 3 年前

【采坑之路】Unhandled regection Error: EPERM: operation not permitted,open......

需要更高权限,老是忘记用管理员身份运行。
原创
4508阅读
0评论
0点赞
发布博客于 3 年前

搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

转载自:https://www.imooc.com/article/17571 网页可见区域高:document.body.clientHeight网页正文全文高:document.body.scrollHeight网页可见区域高(包括边线的高):document.body.offsetHeight网页被卷去的高:document.body.scrollTop屏幕分辨率高:wi...
转载
124阅读
0评论
1点赞
发布博客于 3 年前

安装sass与gulp以及安装过程中遇到的错误

 一. 安装过程sass基于Ruby语言开发而成,因此安装sass前需要安装Ruby。(注:mac下自带Ruby无需在安装Ruby!)先从官网下载Ruby并安装。安装过程中请注意勾选中间的Add Ruby executables to your PATH添加到系统环境变量。安装完成后需测试安装有没有成功,运行CMD输入以下命令:C:\Users\DSF&gt;ruby -v...
原创
291阅读
0评论
0点赞
发布博客于 3 年前

【数据可视化】位置信息坐标转换(GCJ02坐标、WGS84坐标、bd09坐标之间的转换)

       现在几乎每一个App都会收集用户位置信息,App得到的坐标大多是通过高德地图等SDK获取的,当使用这些坐标进行webGIS可视化的时候会发现各种偏离状况,坐标不对,叠加错位。这是由于不同SDK获取到的坐标可能属于不同坐标系,想要针对不同地图的地图将手中的坐标数据转换成相吻合的数据,可以采用coordtransform库来解决这一问题。首先,了解现如今互联网坐标系的现状。1. ...
原创
20660阅读
0评论
0点赞
发布博客于 3 年前

【React Native第三方库的使用】react-native-scrollable-tab-view实现Tab切换

一、概述react-native-scrollable-tab-view是一款可以实现顶部的Tab切换和底栏切换的第三方库,常用于顶部Tab切换。在HT项目中,我用其实现日周月年运动数据页面的切换,其效果如下图所示:  二、使用2.1 准备工作与其他第三方库的用法一样,需要先install再import,然后就可以使用啦。(1)进入项目目录下,执行如下命令行n...
原创
1450阅读
0评论
0点赞
发布博客于 3 年前

【React Native】生命周期

所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。RN 组件的生命周期整理如下图:如图,可以把组件生命周期大致分为三个阶段:第一阶段:是组件第一次绘制阶段,如图中的上面虚线框内,在这里完成了组件的加载和初始化; 第二阶段:是组件在运行和交互阶段,如图中左下角虚线框,这个阶段组件可以处理用户交互,或者接收事件更新界面; 第三阶段:是组件卸...
转载
99阅读
0评论
0点赞
发布博客于 3 年前

【React Native】用到的第三方库记录

暑期实训这一个月,从零开始浅尝RN至现在小项目的雏形,可谓匆匆忙忙恍恍惚惚,还有天气红红火火。学弟走了,项目后期我难逃其责。以平常心稀释掉老师的催促,找到时间与任务的平衡,躁动一事无成,静心提升才是王道。总结一下HT项目用到的第三方库(不断补充),给后来的我以及需要的人以便利。-------------------------------------------------------...
原创
103阅读
0评论
0点赞
发布博客于 3 年前

【React Native】FlatList——实现带搜索栏的列表

实现效果:实现:搜索框InputBox列表:FlatList代码:import React, { Component } from 'react';import { View, TextInput, FlatList, StyleSheet, StatusBar, Text, Image, TouchableOpacity} from 'react-n...
原创
3295阅读
1评论
0点赞
发布博客于 3 年前

python读取xml文件

使用xml.dom解析xml一个 DOM 的解析器在解析一个 XML 文档时,一次性读取整个文档,把文档中所有元素保存在内存中的一个树结构里,之后你可以利用DOM 提供的不同的函数来读取或修改文档的内容和结构,也可以把修改过的内容写入xml文件。python中用xml.dom.minidom来解析xml文件,实例如下:def readXml(xml): print("read xml fi...
原创
1814阅读
0评论
0点赞
发布博客于 3 年前

CUDA编程理解与案例

一。编写一个简单的cuda程序编写一个cuda c程序,需要以下步骤:(1)用专用扩展名.cu来创建一个源文件(2)使用CUDA nvcc编译器来编译程序(3)从命令行运行可执行文件,这个文件有可在GPU上运行的内核代码下面来看一个最简单的cuda c程序小栗子:#include &lt;stdio.h&gt;__global__ void helloFromGPU(void){ pri...
原创
1202阅读
1评论
0点赞
发布博客于 3 年前

【数据可视化】echarts绘制带有点击事件的图表

&lt;script type="text/javascript"&gt; //基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); //指定图表的配置项和数据 var option = { t...
原创
3210阅读
0评论
1点赞
发布博客于 4 年前

【机器学习】神经网络

神经元单层神经网络(感知机)两层神经网络(多层感知机)多层神经网络(深度学习)一。神经元模型1. M-P神经元模型神经元模型是一个包含输入、输出和计算功能的模型。下图的模型中包含3个输入、1个输出,以及2个计算功能。其中的箭头线是连接,带有权重,是神经元中最重要的东西。神经元模型中,有向箭头表示的是值的加权传递。一个神经网络的训练算法就是让权重的值调整到
原创
553阅读
0评论
2点赞
发布博客于 4 年前

【Python数据挖掘】实用模块之Pandas

Pandas模块是一个强大的数据分析和处理模块,能为复杂情形下的数据提供坚实的基础分析功能。所谓的复杂情形,可能有以下三种:①数据库表或Excel表,包含了多列不同数据类型的数据(如数字、文字)②时间序列类型的数据,包括有序和无序的情形,甚至是频率不固定的情形③任意的矩阵型、二维表、观测统计数据,允许独立的行或列带有标签下面介绍Pandas模块中的基本的高级数据结构,以
原创
498阅读
0评论
1点赞
发布博客于 4 年前

【CCF】201509_3 模板生成器

试题编号:201509-3试题名称:模板生成系统时间限制:1.0s内存限制:256.0MB问题描述:问题描述  成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是
原创
173阅读
0评论
0点赞
发布博客于 4 年前

【CCF】101412_3集合竞价

试题编号:201412-3试题名称:集合竞价时间限制:1.0s内存限制:256.0MB问题描述:问题描述  某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。  该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种:  1. buy
原创
145阅读
0评论
0点赞
发布博客于 4 年前

【CCF】201403_3命令行选项

试题编号:201403-3试题名称:命令行选项时间限制:1.0s内存限制:256.0MB问题描述:问题描述  请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的
原创
127阅读
0评论
1点赞
发布博客于 4 年前

【机器学习】集成学习

一。概括集成学习(ensemble learning),本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。可以用于分类问题集成、回归问题集成、特征选取集成、异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。集成学习思想:对于训练集数据,通过训练若干个个体学习器,再经过一定结合策略,最终形成一个强学习器,以达到博采众长。可
原创
799阅读
0评论
3点赞
发布博客于 4 年前

【CCF】Z字扫描 与 Z字形打印矩阵

试题编号:201412-2试题名称:Z字形扫描时间限制:2.0s内存限制:256.0MB问题描述:问题描述  在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:  对于下面的4×4的矩阵,  1
原创
817阅读
0评论
1点赞
发布博客于 4 年前

【CCF】201604_2俄罗斯方块

试题编号:201604-2试题名称:俄罗斯方块时间限制:1.0s内存限制:256.0MB问题描述:问题描述  俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。  游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个
原创
121阅读
0评论
1点赞
发布博客于 4 年前

【CCF】201503_2数字排序

试题编号:201503-2试题名称:数字排序时间限制:1.0s内存限制:256.0MB问题描述:问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用
原创
186阅读
0评论
1点赞
发布博客于 4 年前

【算法学习笔记】二叉树遍历

一。 先序遍历根结点->左子树->右子树[cpp] view plain copyvoid preorder(node* root){      if(root == NULL){          return;   //到达空树,递归边界       }      printf("%d
", root->data
原创
146阅读
0评论
2点赞
发布博客于 4 年前

【算法学习】二叉树

一。递归定义① 要么二叉树没有根结点,是一个空树②要么二叉树由根结点、左子树、右子树组成,且左子树和右子树都是二叉树二叉树的许多算法都需要直接用到这个递归的定义来实现算法。二。存储结构使用链表来定义,定义方式如下:struct node{ typename data; //数据域 node* lchild; //指向左子树根结点的指针 nod
原创
121阅读
0评论
0点赞
发布博客于 4 年前

【算法学习】DFS与BFS

一。深度优先搜索深度优先搜索会走遍所有的路径,并且每次走到死胡同就代表一条完整路径的形成。概括来说,DFS是一种枚举所有完整路径以遍历所有情况的搜索方法。可以使用栈来实现,也可以使用递归实现。一般情况下非递归要比递归麻烦。不过使用递归的时候系统会调用一个叫系统栈的东西来存放递归中每一层的状态。举个栗子:有n件物品,每件物品的重量为w[i],价值为c[i]。现在需要选
原创
272阅读
0评论
0点赞
发布博客于 4 年前

c++中好用的stringstream

stringstream是c++的模板库的一个类,用于输入输出操作,此外,还有istringstream类用于输入操作,ostringstream类用于输出操作。stringstream可用于作数据切分或类型转换,下面以栗子分别介绍。1. 数据切分#include #include #include using namespace std;int main(){
原创
173阅读
0评论
0点赞
发布博客于 4 年前

【CCF】201612_3权限查询

试题编号:201612-3试题名称:权限查询时间限制:1.0s内存限制:256.0MB问题描述:问题描述  授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。  本题中的授权机制是这样设计的:每位用户具有若干角色,每
原创
163阅读
0评论
1点赞
发布博客于 4 年前

【java】HashMap的遍历

HashMap的遍历有两种方法,其中一种是keyset(),另一种是entryset(). 但entryset()的效率更高。从java
原创
606阅读
0评论
0点赞
发布博客于 6 年前

【java练习题】Comparator接口的使用

题目: 编写一个程序,用户键盘录入若干个学生的姓名和分数(程序每次提示用户输入“Y”或“N”决定是否继续录入学生信息,如果用户输入“N”则用户输入完毕。输入的“Y”、“N”不区分大小写)。用户录入完毕后,程序按成绩由高到低的顺序输出学生的姓名和分数(姓名和分数之间用一个空格分割)。【说明:键盘输入可以使用Scanner类】package T1;import java.lang.r
原创
1083阅读
0评论
0点赞
发布博客于 6 年前

关于nextLine()和next()的使用

关键在于:next() 方法遇见第一个有效字符(非空格,换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描。、这时使用nextLine(),继续读,有可能读入第一个字符是空格或换行符。    在实现字符窗口的输入时,我个人更喜欢选择使用扫描器Scanner,它操作起来比较简单。在写作业的过程中,我发现用Scanner实现 字符串的输入有两种方法
转载
708阅读
0评论
0点赞
发布博客于 6 年前

ArrayList排序sort()方法

使用Sort方法,可以对集合中的元素进行排序。Sort有三种重载方法,声明代码如下所示。publicvoid Sort();//使用集合元素的比较方式进行排序publicvoid Sort(IComparer comparer);//使用自定义比较器进行排序publicvoid Sort(int index, int count, IComparer
转载
6156阅读
0评论
0点赞
发布博客于 6 年前

【Windows编程】笔记-添加音效与窗口创建

——学习《windows游戏编程从零开始》(毛星云)笔记一.添加音效(PlaySound函数)#include#include "stdafx.h"#pragma comment(lib,"winmm.lib") //链接PlaySound函数所需的winmm.lib库文件int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrev
原创
292阅读
0评论
0点赞
发布博客于 6 年前

【JAVA】集合交并补

package test;import java.util.HashSet;import java.util.Set;public class Test { public static void main(String[] args) { SetInteger> result = new HashSetInteger>(); SetInteger
转载
634阅读
0评论
0点赞
发布博客于 6 年前

【JAVA】产生指定范围不重复的随机数

一、JAVA中生成随机数的方式      1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有;    Java代码  int randomNumber = (int) Math.round(Math.random()*(max
转载
679阅读
0评论
0点赞
发布博客于 6 年前

【java学习】基本类型和引用类型区别(堆和栈区别)

要理解基本类型和引用类型的区别,首先要理解堆和栈的区别:堆(Heap)栈(Stack)1、内存分配方面:    堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。    栈:由编译器(Compiler)自动分配释放,
转载
611阅读
0评论
0点赞
发布博客于 6 年前

【算法·递归与分治】二分查找

二分查找是在已排好序的n个元素数组arr [0:n-1] 中找某一特定元素goal。不断的将数组对半分割,将中间元素与目标元素相比较。注意:①元素是排好序的。            ②偶数元素对半分割舍弃小数,是前一个元素。#include #include //sort函数对应的头文件#define MAX 101using namespace std;int
原创
375阅读
0评论
0点赞
发布博客于 6 年前