《锋利的jQuery》学习笔记 2016年10月16日 10 阅读 《锋利的jQuery》学习笔记--One Sections第一章1、 $是jQuery的一个简写形式2、 在jQuery中无法使用DOM对象的任何方法:比如:$ (“#id”).innerHTML、$ (“#id”).checked,可以使用:$ (“#id”).html()、$ (“#id”).attr(“checked”);3、 ...
《HTML5与CSS3基础教程》学习笔记 2016年10月16日 10 阅读 HTML5与CSS3基础教程(第8版)中文高清版 PDF 下载http://www.linuxidc.com/Linux/2015-12/125734.htm第一章1、 邮箱地址的URL地址包括:mailto:+邮箱地址2、 ../表示向上走一级,开头直接使用/表示根目录第三章1、 <header>:role = “banner”【 适用于页面级的页眉】2、 <nav>标记导航:role = &ldq...
关于Linux下conio头文件的实现 2016年10月16日 10 阅读 在Windows下,c语言有库conio.h,实现了不少函数,但是Linux C没有这个库,内部的函数需要自己实现。//clrsrc清屏函数的一种实现:<br>void clrscr(void){ system("clear");//需要头文件stdlib.h}//调用system("clear")//getch()函数的一种实现方法<br>#include<stdio.h>#incldue<stdlib.h&g...
Linux C语言中gotoxy函数 2016年10月16日 10 阅读 在Linux中很多函数都不能使用,gotoxy就是其中的一个实现方法:void gotoxy(int x,int y){printf("%c[%d;%df",0x1B,y,x);} 解析:ANSI转义序列,很多类unix的终端,包括linux控制台都解释ANSI转义序列,转义符就是ESC,ASCII码是0x1b,比如Esc[Line,Columnf就表示移动光标到(Line,Column)的位置。而你printf打印的字符串正是这个命令,其中0x1B正是 ...
把二元查找树转变成排序的双向链表 2016年10月16日 10 阅读 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ / 6 14/ / / /4 8 12 16转换成双向链表4=6=8=10=12=14=16。 #define _CRT_SECURE_NO_WARNINGS#include#include#include#includetypedef struct BSTreeNode{int date;struct BSTreeNode *leftnode;...
在二元树中找出和为某一值的所有路径 2016年10月16日 10 阅读 题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数 22 和如下二元树10/ 5 12/ 4 7则打印出两条路径:10, 12 和 10, 5, 7。代码思路1)递归前序创建二叉树2)借鉴二叉树的前序遍历,然后加递归,回溯算法。代码c语言实现#define _CRT_SECURE_NO_WARNINGS#include#include#include#includ...
设计包含min函数的栈 2016年10月16日 10 阅读 定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素。要求函数 min、push 以及 pop 的时间复杂度都是 O(1)。代码思路:1)push与pop操作不难,本题难点在与时间复杂度。2)构造栈,和栈结点两个结构体。栈结点中设置一指针变量,说明当前节点时指向的最小元素。为了减少时间复杂度,增加空间复杂度是必要的。C语言参考代码:#define _CRT_SECURE_NO_WARNINGS#include#include#include#...
判断整数序列是不是二元查找树的后序遍历结果 2016年10月16日 10 阅读 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回 true,否则返回 false。例如输入 5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果:8/ 6 10/ / 5 7 9 11因此返回 true。如果输入 7、4、6、5,没有哪棵树的后序遍历的结果是这个序列,因此返回 false。代码思路:后序遍历为左右根。以5、7、6、9、11、10、8为例。8为根,然后找出5、7、6为左子树,9、11、10为...
排序算法:查找最小的k个元素 2016年10月16日 10 阅读 查找最小的 k 个元素题目:输入 n 个整数,输出其中最小的 k 个。例如输入 1,2,3,4,5,6,7 和 8 这 8 个数字,则最小的 4 个数字为 1,2,3 和 4。代码思路:方法有很多种,只是时间复杂度问题。代码一:快速排序c语言实现#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#include#define N 6int partition(int a[], in...
求两直线交点问题C++求解 2016年10月16日 10 阅读 题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为 O(n)。例如输入的数组为 1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为 3, 10, -4, 7, 2,因此输出为该子数组的和 18。代码思路共有两种方法:1、暴力破解法,三重循环遍历数组,缺点时间复杂度不是O(n)。2、动态规划求解第一种方法代码:暴力破解法:#define ...
算法:翻转句子中单词的顺序 2016年10月16日 10 阅读 翻转句子中单词的顺序。题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.” ,则输出“student. a am I” 。代码思路:此题比较简单,用a[N]保存输入字符串,b[N]用来保存翻转后的字符串。然后剩余的工作就是调整数组a与数组b之间参数的问题。代码:c语言实现#define ...
HashMap的存取解析 2016年10月16日 10 阅读 今天想了解点HashMap的存取解析。大家都知道HashMap是键值对存在的,key-value的形式。但,内部是怎么存储的?我们一起来看看吧标注:基于的jdk版本为1.6.0_45First,大家都知道Map的entrySet方法返回的是Set<Entry>,所以就好奇Entry到底是个什么东西?Entry是接口,是Map接口中的一个内部接口,Map提供的接口就不给大家介绍了,Entry提供的接口方法有:K getKey() //获取Entr...
Java 如何优化if语句嵌套 2016年10月16日 10 阅读 我们平时写if,switch或for语句是常有的事儿,也一定写过多层if或for语句嵌套的情况,如果代码里的嵌套超过3层,阅读起来就会非常困难了。我们应该尽量避免代码嵌套多层,最好不要超过2层。if语句嵌套的问题多层if语句嵌套是常有的事情,有什么好的方法可以减少嵌套呢?1 尽早终止函数或返回数据如果符合某个条件下可以直接终止函数,则应该将这个条件放在第一位。我们来看看下面的例子。if(condition1) { if(condition2){ i...
使用Python实现杨辉三角和心 2016年10月16日 10 阅读 使用Python实现杨辉三角和心1. 如何实现杨辉三角import copylist=[]newlist=[]def Fibonacci(list,n):newlist.append(0)if n ==1:return [1]for i in range(n):if i==0 or i==n-1:newlist[i]=1else:newlist[i]=list[i-1]+list[i]return newlistblanknum=68for i in ra...
Swift中如何使用 #if DEBUG 2016年10月16日 10 阅读 Swift暂时还不支持大多数的预处理宏操作,但是可以支持“#if/#else/#endif”语句。下面进行简单的设置使 #if DEBUG 有效,更详细的内容见:http://stackoverflow.com/questions/24003291/ifdef-replacement-in-swift-language在项目的Build Settings里配置Swift Compiler - Custom Flags,展开Other...
利用CMake自己创建OpenCV静态链接库 2016年10月16日 10 阅读 1.准备工作:1)完成Visual Studio2012安装;2)下载并解压CMake3.5.0;3)下载并解压OpenCV2.4.12;4)下载并解压TBB44_20160128oss.2.创建OpenCV静态链接库编译项目的目标目录。3.由CMake生成OpenCV静态链接库编译项目:1)双击cmake-gui.exe,删除配置缓存,如下图所示;2)选择OpenCV2.4.12源码所在目录(CMakeLists.txt所在目录)以及第2步创建的静态库项...
STL库list::sort()实现深度解析 2016年10月16日 10 阅读 list模板的定义以及一些基本成员函数的实现这里我就不赘述了,还不清楚的同学可以到网上查找相关资料或者直接查看侯捷翻译的《STL源码剖析》相应章节。我之所以写这篇笔记是因为当时看到list::sort()源码时一时没看懂,后来在VS项目里一步步跟踪数据变化发现了其中的奥秘,被其简洁高效的非递归归并排序的实现方法所震撼(侯捷在《STL源码剖析》上注释说此sort实现使用了快排,应该是弄错了),下面直接进入主题。STL源码剖析简体中文完整版(高清晰扫描带目录)...
OpenGL光源位置 2016年10月16日 10 阅读 一、OpenGL光源简介OpenGL提供了多种形式的光源,如点光源、平行光源和聚光灯光源等。所有光源都使用 glLight*接口来设置光源属性,其中包括 glLight{if} 和 glLight{if}v 两类。1、示例光源GLfloat ambient[] = {0.3f, 0.3f, 0.3f, 1.0f};// 环境强度GLfloat diffuse[] = {1.0f, 1.0f, 1.0f, 1.0f};// 散射强度GLfloat specu...
深度探索va_start、va_arg、va_end 2016年10月16日 10 阅读 采用C语言编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢? C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。在讲解以上宏之前我们先了解一下调用函数时...
C++前置++与后置++的区别与重载 2016年10月16日 10 阅读 C++前置++与后置++的区别与重载++属于单目运算符,前置与后置的实现代码不一样,下面以整数自增为例:// 前置++,返回自增后的值,且返回的是一个左值int& operator++(){*this += 1;return *this;} // 后置++,返回自增前的值,且返回的是一个右值const int operator++(int){int temp(*this);*this += 1;return temp;}1、返回值以及返回类型的区别...