temp

STL标准模板库

只愿长相守 提交于 2020-04-08 00:29:32
Vector: 写vector时候碰到这样一段代码: for(int j=0;j<v1.size();j++) { printf("%d %d",j,v1[j]); printf("%d",v1.size()); if(v1[j]==4) { v1.insert(v1.begin(),5); //在访问元素之前插入元素,那么元素的顺序整体就后面移动一位,那么一直访问到的都是4 j++; } getchar(); } Notice: 如果在遍历中需要插入删除元素,那么v1.size不能固定下来,否则会遗漏尾部的元素,在插入之后注意把迭代器或者索引向后移动一位,这样才会指向插入前那个元素的位置。在由迭代器加1指向下一个元素。 其实VECTOR本质上是一个可以容纳任何类型的动态数组。他用到了C++的动态数组,本质上是一个数组,存放在连续的区域,由此可以知道,中间插入或者删除会导致内存区域整块地移动,这样效率很低。所以Vector适合那些经常需要随机访问的类型,当让在末尾push_back,pop_back的速度是很快的,不会导致内存区域的整片移动。 // settest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<set> #include<algorithm> #include<iterator> using

鼠标拖拽吸附效果

百般思念 提交于 2020-04-07 17:58:41
JavaScript鼠标拖动+自动吸附实例 学了几天的JavaScript,自己动手做了一个简单的鼠标拖动的实例,拖动过程中科自动检测与目标容器的距离,在一定的距离范围内可以自动将被拖动的元素加入到目标容器中,希望对开始学习javascript的童鞋有用…… 先看看效果图(Chrome、FireFox、Opera、Safari测试通过): 效果图(虚线框:目标对象 蓝色填充透明框:临时拖动对象 红色填充框:被拖动对象) 主要思路 :首先给要拖动的div添加一个鼠标按下(mousedown)事件、给document对象添加鼠标移动(mousemove)事件和鼠标弹起(mouseup)事件。鼠标开始移动的时候创建一个临时的拖动对象(temp),移动过程中改变临时拖动目标的位置,鼠标释放时将被拖动的div(elem)的位置设置为临时拖动目标temp的位置,然后移出临时拖动目标。移动过程中,同时还检测了拖动的对象和目标div的位置关系,如果碰撞(可以设置吸附的范围),则自动吸附(将被拖动的对象加入到目标对象中),需要说明的是:这里简单起见,并没有真正的把被拖动对象加入到目标对象中,只是设置了被拖动对象的位置。 鼠标按下时 :获取被拖动元素的位置和鼠标按下的位置,设置拖动的标志(isDrag)值为true。 elem.onmousedown = function(event){//鼠标按下

003 Longest Substring Without Repeating Characters

孤街醉人 提交于 2020-04-07 02:24:37
看到这题,本来想用字符串做来着,不过一时之间忘了字符串中的indexOf函数了,倒是想起了字符串转数组的函数split(尴尬),于是就转为数组了。 后来看了题解后换成字符串检索,果然快了10ms左右。 思路其实挺简单,就是遍历一次字符串,然后检测这个字符在之前出现过没有,没有的话就加在后边, 有的话就先计算之前的字符串长度与max比较,然后删除出现的字符及之前的字符串, 接着把新来的字符放入temp后边。最后在比较一次字符串长度就结束。 /** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { // let temp = [] // let max=0 // s.split('').map((d)=>{ // let index=temp.indexOf(d) // if(index!=-1) // { // temp.length>max && (max=temp.length) // temp.splice(0,index+1) // } // temp.push(d) // }) // temp.length>max &&(max=temp.length) // return max let temp='' let max=0 for(n of s) {

Nginx 服务器搭建--亲自

时光毁灭记忆、已成空白 提交于 2020-04-06 23:51:14
将nginx-1.8.0.tar.gz拷贝至linux服务器。 解压: tar -zxvf nginx-1.8.0.tar.gz cd nginx-1.8.0 1、 configure ./configure --help查询详细参数(参考本教程附录部分:nginx编译参数) 参数设置如下: ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp

数据结构1-05-树9 Huffman Codes

泪湿孤枕 提交于 2020-04-06 19:07:45
1 #include<stdio.h> 2 #include<string.h> 3 #define MAXN 1001 4 struct node{ 5 int data,left,right,parent; 6 node(){ 7 data = -1; 8 left = -1; 9 right=-1; 10 parent=-1; 11 } 12 }; 13 struct node huffT[MAXN],testT[MAXN]; 14 char c[MAXN],a[MAXN]; 15 int f[MAXN],heap[MAXN],m,n,WPL; 16 void read(); 17 void insert(int x); 18 int del(); 19 void Cwpl(); 20 int test(); 21 int main(){ 22 int i; 23 24 read(); 25 for(i=1;i<=m;i++){ 26 if(test()==1) printf("Yes\n"); 27 else printf("No\n"); 28 } 29 return 0; 30 } 31 void read(){ 32 int i; 33 scanf("%d",&n); 34 heap[0] =0; 35 for(i=1;i<=n;i++){ 36 getchar();

这个国产操作系统不但开源,而且全用 lua 脚本开发

瘦欲@ 提交于 2020-04-06 07:36:10
一说到国产操作系统,可能很多同学会觉得根本就没有这种东西。但是实际上,国内有很多优秀的国产操作系统,虽然有些并不是供普通消费者使用的,但是它们都各有特色,并且有些系统在其专业细分领域使用率已经很高了,今天推荐的 LuatOS 就是这样一款物联网操作系统。 项目名称: LuatOS 项目作者: Wendal 开源许可协议: MIT LuatOS 是运行在嵌入式硬件的实时操作系统,只需要少量内存的 flash 空间就能运行,用户编写 lua 代码就可完成各种功能。 基于Lua 5.3.5 低内存需求, 最低32kb, 96kb flash空间 硬件抽象层兼容M3/arm/risc-v等 可测试,可模拟(qemu) 在线升级 可裁剪,可扩展 总体架构 代码示例节选 local sys = require("sys") sys.subscribe("WLAN_READY", function () print("!!! wlan ready event !!!") -- 马上进行时间同步 socket.ntpSync() end) disp.init("ssd1306") display_str("Booting ...") -- 配网回调 sys.subscribe("WLAN_PW_RE", function(ssid, password) if ssid then log.info

截取指定字符长度时区分汉字和英文字母

被刻印的时光 ゝ 提交于 2020-04-05 19:45:28
/// <summary> /// 根据字节数截取字符串(区分汉字、数字、字母) /// </summary> /// <param name="str"></param> /// <param name="n"></param> /// <returns></returns> public string stringFormat(string str, int n) { /// ///格式化字符串长度,区分汉字跟字母。汉字2个字节,字母数字一个字节 /// string temp = string.Empty; if (System.Text.Encoding.Default.GetByteCount(str) <= n * 2 - 2)//如果长度比需要的长度n小,返回原字符串 { return str; } else { int t = 0; char[] q = str.ToCharArray(); for (int i = 0; i < q.Length; i++) { //if ((int)q[i] >= 0x4E00 && (int)q[i] <= 0x9FA5)//是否汉字 if (Convert.ToInt32(q[i]) > 255)//是否汉字 { temp += q[i]; t += 2; } else { temp += q[i]; t += 1; }

C#中使用ref和out一点认识

安稳与你 提交于 2020-04-03 11:51:56
摘自internet ref侧重修改.out侧重输出. 首先,如果不使用这两个关键字,那是什么样 呢? 看下面的例子: using System; class Test {     static void Swap(ref int x, ref int y)     {         int temp = x;         x = y;         y = temp;     }     static void Swap(int x,int y)     {         int temp = x;         x = y;         y = temp;     }     static void Main()     {         int i = 1, j = 2;         Swap(ref i, ref j);         Console.WriteLine("i = {0}, j = {1}", i, j);         Swap(i,j);         Console.WriteLine("i = {0}, j = {1}", i, j);     } }   程序经编译后执行输出: i = 2, j = 1 i = 2, j = 1 这是csdn的一篇帖子上的例子.其实如果放在一起

四、创建、删除、复制、移动目录

北慕城南 提交于 2020-03-30 13:33:56
1 创建目录 使用:mkdir [选项] [目录...] (1)在根目录创建文件夹a mkdir /a ls /a (2)建立多个目录 mkdir a b c (3)创建多级目录,eg:a目录下创建b,b目录下创建c…… mkdir -p a/b/c/d ls -R a 2 删除目录 rmdir 删除目录,只能删除空白的目录,该目录下有空目录也无法删除(linux : everything is file) rm rm -r 删除目录,即使非空也能删除。会一级级进行确认 rm -rf 删除目录,即使非空也能删除。不会一级级确认 3 复制目录 简介:cp 复制的文件或目录 使用: cp [选项] 文件路径 cp [选项] 文件...目录 (1)复制文件:cp + 被复制文件 + 复制到哪个目录 user1@SC02ZRC4KMD6N normal % cp a/temp b user1@SC02ZRC4KMD6N normal % (2)复制目录:cp -r + 被复制文件 + 复制到哪个目录 user1@SC02ZRC4KMD6N normal % ls -R a tmp a/tmp: user1@SC02ZRC4KMD6N normal % ls b user1@SC02ZRC4KMD6N normal % cp a/tmp b cp: a/tmp is a directory

P4017 最大食物链计数(拓扑排序+邻接矩阵(表))

孤街醉人 提交于 2020-03-30 01:47:00
题目背景 你知道食物链吗?Delia 生物考试的时候,数食物链条数的题目全都错了,因为她总是重复数了几条或漏掉了几条。于是她来就来求助你,然而你也不会啊!写一个程序来帮帮她吧。 题目描述 给你一个食物网,你要求出这个食物网中最大食物链的数量。 (这里的“最大食物链”,指的是 生物学意义上的食物链 ,即 最左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费者) 输入格式 第一行,两个正数n、m,表示生物种类n和吃与被吃的关系数m。 接下来m行,每行两个正数,表示被吃的生物A和吃A的生物B。 输出格式 一行一个整数,为最大食物链数量模上80112002的结果。 输入输出样例 输入 #1 5 7 1 2 1 3 2 3 3 5 2 5 4 5 3 4 输出 #1 5 说明/提示 各测试点满足以下约定: 【补充说明】 数据中不会出现环,满足生物学的要求。 时间限制1s,结果模上80112002. 思路:    此题所找的是总食物链的长度,实际上翻译过来就是找到所有入度为0对应出度为0的链的长度,这一思想恰好满足拓扑排序的性质(具体拓扑排序见另一篇帖子)。因此此处首先采用邻接矩阵+拓扑排序的方法去实现(别用dfs效率太低,基本的不剪枝的只过两个测试点) 实现代码(邻接矩阵): 1 #include<bits/stdc++.h> 2 using namespace std; 3