自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (15)
  • 收藏
  • 关注

原创 呆萌数据结构 | 04 队列

原文来自 萌一小栈生活中的一些排队行为,基本上都是队列的形式。这篇博客涉及的概念有 队列,循环队列,优先队列,双端队列。很多编程语言已经内置了队列结构,在实际项目中可以直接使用。这篇文章里的代码实现,主要用做原理理解。拿超市买单为例,买完东西,一般会找一个结账台排队,等待结账。如果前面已经有人在排队,那你肯定是排在当前队伍的最后面,如果再来人,肯定是排在你的后面,依次往后排。每当有一个顾客...

2020-01-10 18:16:57 1007

原创 呆萌数据结构 | 03 堆栈

原文来自 萌一小栈有一堆书,一本叠一本地放入箱子里,最后放入的,一定是在最上面,对不对。取书的时候,规定只能从上面一本一本地取,如果要拿最先放入箱子里的那本书,也就是最下面的那本书,只能先把上面的拿出来。什么是堆栈(Stack)上面说的就是我们今天要讲的堆栈,也可以简单叫做栈。堆栈是很常用很基础的数据结构。堆栈涉及到的概念如果下。栈顶,就是最上面的一个元素。压栈(Push),就是将一...

2020-01-10 18:16:29 964

原创 呆萌数据结构 | 02 链表

原文来自 萌一小栈什么是链表链表和数组一样,是一种线性的数据结构,由一个一个节点构成,节点中存放着数据,以及指向下一个或上一个节点的指针,通过指针,将节点链接在一起,构成整个链表结构。不同于数组,链表在内存中并不是连续的存储空间。为什么要用链表?或者说链表有哪些优点我们知道,数组是很方便的数据结构,但是数组有一些局限性。必须事先知道要分配多少内存空间。插入和移除是很耗费性能的操作,因为...

2020-01-10 18:15:58 947

原创 呆萌数据结构 | 01 数组

原文来自 萌一小栈数组,在数据结构中,是很基础,也很常用的一个,在很多很多业务中,都能看到它的身影。数组很简单,在不同的编程语言中,操作方式,也几乎都是类似的。那数组是什么呢?简单来说,就是在内存中分配一块连续的空间,用来存储相同类型的元素。使用索引,可以直接访问某一个元素的数据。大多数编程语言,数组的索引是从0开始的。数组也分为一维数组,和多维数组。就像excel中的表格,一行数据,就可...

2020-01-10 18:09:53 922

原创 一个不用背单词的高效英文学习法

原文来自 萌一小栈翻译自 English Immersion Reading: A Powerful and Effective Way to Learn你觉得英文阅读很无聊吗?你是否一直在寻找一种能让阅读更有趣,更高效地方式?接着往下看,你将会爱上 沉浸式阅读我们通过阅读和听力掌握一种语言,而不是通过单纯地学习语法和记忆单词。我们可以很熟练地说一种语言是因为我们听的多,读的多...

2020-01-09 16:52:12 2352

原创 Chapter 1 数学知识

映射,逆映射,双射映射可以理解为程序里的函数,传入一个参数,返回一个值。逆映射可以理解为反函数,函数A,传入a返回b,函数A的逆函数,传入b返回A。双射,传入a返回b,传入b返回a。区间(0,1) 开区间,不包括端点0,1[0,1] 闭区间,包括端点0,1对数log⁡ax\log_axloga​x 的意思是有一个底数a,以a为底数的x的对数。通俗来讲,就是描述a的多少次方为...

2018-11-04 02:16:52 245

原创 Unity3D 获取主窗口句柄

using System;using System.Diagnostics;using System.Runtime.InteropServices;using System.Windows.Forms;public class C { public delegate bool WNDENUMPROC(IntPtr hwnd, uint lParam); [DllImp

2015-12-28 19:18:16 9725 2

原创 Python 批量下载xkcd漫画

#coding=utf-8import urllibimport re#start page numberstart = 1#end page numberend = 1613prevUrl = 'http://xkcd.com/'#download html filedef getHtml(url): page = urllib.urlopen(url)

2015-12-20 11:48:13 840

转载 Newtonsoft.Json解析数组的小例子

HttpWebRequest request = (HttpWebRequest)result.AsyncState;HttpWebResponse response = (HttpWebResponse)(request.EndGetResponse(result));stream = response.GetResponseStream();StreamReader reader = n

2015-10-27 15:12:11 1409

原创 Untiy Shader - 纹理贴图滚动

滚动纹理,可以实现一些如瀑布,河流,熔岩流等效果,本质上就是UV坐标的偏移,在Unity中新建一个Shader,然后修改成下面代码的样子,新建一个材质,选择此shader,赋予一张贴图,然后将材质应用于一个mesh上,运行即可看到效果Shader "Custom/UVOffset" { Properties { _MainTint("Diffuse Tine",Color)

2015-06-15 20:18:22 2531

原创 Unity3D NotificationCenter

NotificationCenter封装了Unity3D的Message机制,直接将 NotificationCenter.cs 脚本拖到项目中就可以用了,我们建立三个游戏对像A ,B,C,然后分别赋予它们脚本AS,BS,CS,这三个脚本中的内容如下AS BS CS: void start(){ NotificationCenter.DefaultCenter.

2013-09-11 20:23:07 1791

原创 Unity3d JDK配置

下载JDK,并安装,新建系统变量     JAVA_HOME  -> C:\Program Files\Java\jdk1.7.0_07新建系统变量     classpath      ->  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jarpath 系统变量中添加               ->  %JAVA_HOME%\bin;%JAVA_

2013-09-08 17:37:23 3234

原创 Ubuntu 环境变量各配置文件

1.  /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.2. /etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量 3. ~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输

2013-07-11 22:20:14 963

原创 Unity3D 主角移动到鼠标点击处

#pragma strictvar moveSpeed : float = 5;private var targetPos : Vector3 = Vector3.zero;private var direction : Vector3 = Vector3.zero;private var controller : CharacterController;function Start

2013-07-08 18:32:07 1822

原创 Ubuntu 13.04 安装 OpenGL

sudo apt-get install build-essential sudo apt-get install libgl1-mesa-devsudo apt-get install libglu1-mesa-dev sudo apt-get install freeglut3-dev测试程序#include void init(void){ glClea

2013-05-24 00:20:06 1071

原创 Ubuntu 13.04 双显卡安装NVIDIA GT630M驱动

安装 bumblebee 以管理双显卡,下面命令会自动安装NVIDIA显卡驱动sudo add-apt-repository ppa:bumblebee/stablesudo apt-get updatesudo apt-get install bumblebee bumblebee-nvidia安装成功后,重启电脑查看显卡状态lspci | grep VG

2013-05-23 23:59:04 3670

原创 同余幂算法

求 b^n mod m ,其中 b n m都是大整数#include int GetHighBitPos(int n){ int pos = 31; while(pos >= 0){ if((1 << pos) & n){ return pos; } --pos; } retu

2013-05-13 11:22:46 1493

原创 malloc free 深入学习

#include #include int main(){ int * iptr = (int *)malloc(10 * sizeof(int)); for(int i = 0; i < 10; ++i){ iptr[i] = i * 1000; } printf("%p\n",iptr); iptr = iptr + 3;

2013-05-12 08:21:38 922

原创 素数和最大公约数

2013-05-11 10:02:35 1068

原创 同余的应用

1. 散列函数可以为计算机文件分配内在地,最常用的散列函数之一是  h(k) = k mod m,m是可用内内存的数目例如,以客户的社会安全号作为记录,当 m= 111 时,h(064212848) = 064212848 mod 111 = 14h(037149212) = 037149212 mod 111 = 65由于散列函数不是一对一的,有可能多个记录分配到同一个内

2013-05-07 08:54:09 1381

原创 Ubuntu 13.04 X64 安装iNodeClient问题

1. 需要选安装ia32-libs,如果sudo apt-get install ia32-libs提示找不到软件包,就先 sudo apt-get update 一下,然后再安装就可以找到了2. 安装完后,运行iNodeClient目录下的,iNodeClient.sh,会提示一些libtiff 和 libjpeg等so文件找不到,ubuntu 13.04里面的这些库文件不叫这个名字,可以l

2013-05-06 23:43:23 1161

原创 C语言实现通用数据类型栈结构

Stack.htypedef struct { void *elems; int elemSize; int logicalLen; int allocLen;}Stack;void StackNew(Stack *s,int elemSize);void StackDispose(Stack *s);void StackPush(Stack *s,v

2013-04-27 00:41:49 1337 1

原创 C语言 static

C语言中用 static 定义一个函数或变量,是将函数或变量的作用域限制在本文件内,在多文件编程中,例如在A.c   B.c 内各定义Swap()函数,如果不用static,在连接的时候会出错,因为编译器不知道程序要调用的是哪一个Swap()函数,加上static ,就只有本源文件中的函数可以调用用static定义的变量或函数,在编译的时候不会产生冲突。

2013-04-26 23:46:40 759

原创 使用Git --- 创建第一个项目

(以下内容都是在 Ubuntu 12.10 X64 的Shell下进行的) 安装完Git后,需要简单设置一下git config --global user.name "linkrules"git config --global user.email "0x535946@gmail.com"上面两个命令, user.name 和 user.email两个变量分别说明版本历史上的一个修

2013-04-14 21:30:47 999

原创 Common Lisp --- 计算 3x+1 问题

(defun x-test (x) (when (not (= x 1)) (cond ((= 1 (mod x 2)) (format t "3*~d+1=~d~%" x (+ 1 (* 3 x))) (x-test (+ 1 (* 3 x)))) ((= 0 (mod x 2)) (format t "~d/2=~d

2013-04-08 09:41:43 1108

原创 编程范式 --- 通用交换和搜索函数

void swap(void *vp1,void *vp2,int size){ char buffer[size]; memcpy(buffer,vp1,size); memcpy(vp1,vp2,size); memcpy(vp2,buffer,size);}void * lSearch(void *key,void *base,int n,int elementSize

2013-03-30 12:55:00 882

原创 游戏开发相关的数学

1.2.座标系,以一座城为例把城市当做整个世界,以城市中心为源点,建立3D座标系,这个是世界座标系.物体座标系,一辆车在城市里面,这辆车有自己的座标系,以车的中心为源点,向前为Z辆,向右为X轴,向上为Y轴,这个是物体座标系,车辆向右转,是以自身座标系,绕Y轴向右转,如果说向东转,则是以世界座标系为参考,向世界方向的东转.物体坐标系转为世界座标系,先将物体座标系转为惯性座标系,然后将惯性

2013-03-21 23:18:52 959

原创 Bubble Sort

#include void bubble_sort (int num[],int count){ int i = count - 1; int j = 0; while(i > 0){ for(j = 0; j < i; ++j){ if(num[j] < num[j + 1]){ int temp = num[j]; num[j] = num[j +

2013-03-19 22:58:55 790

原创 Common Lisp ---- 函数

1. 定义新函数(defun name (parameter*) "Optional docuemntion string." body-form*)如果一个字符串紧跟在形参列表之后,那么安应该是一个用来描述函数用途的文档字符串,当函数定义时,该文档字符串被关联到函数名上,并且以后可以通过DOCUMENTATION函数来获取。(defun hello-world() (form

2013-03-17 11:20:35 1118

原创 Ubuntu 12.10 安装 iNodeClient

1. 下载 iNodeClient for linux2. 解压3. cd iNodeClient4. sudo ./install.sh现在运行 ./iNodeClient.sh 会提示出错,因为 libtiff.so.3 和 libjpeg.so.62,因为系统版本的问题,ubuntu 12.10 中这两个文件不叫那个名字了解决方案cd /usr/lib/9

2013-02-27 21:43:18 717

原创 C++ extern

Player.cpp#include int life = 10;int score = 1000;void dead();void getPrize();using namespace std;int main(){ cout << "Life : " << life << endl; cout << "dead ..." << endl;

2012-11-07 10:50:44 646

原创 递归--20层楼梯每次可以走1步2步4步,有几种走法

#include #include #define SIZE_STACK 100int sum = 0;int final_floor = 20;int step[3] = {1,2,4};int count = 0;int push_count = 0;int top = -1;int stack[SIZE_STACK];void push(int n){ if

2012-10-31 02:30:42 3020

原创 二叉查找树的 创建 查找 访问

/**************************** * 按字典顺序输出输入的名称 ****************************/#include #include #include #define N_SIZE 20/* 数据结构 */typedef struct T_node* treePtr;typedef struct { char nam

2012-10-27 23:11:32 639

原创 利用素数表快速寻找 n 以内的所有素数

三个函数,find_prime() 是利用素数表的方法,寻找素数的,find_prime_stupid()是利用另一种传统方法寻找素数的,test_func()用于测试两个函数的速度测试数据分别是 1000,5000,10000,50000,100000,500000,1000000,2000000,5000000 以内的素数。#include #include #incl

2012-09-11 09:13:17 2894

原创 快速排序-C语言版

void quicksort(int num[],int start,int end){ int key=num[start]; int prev = start; int last = end; if(prev >= last) { return; } while(prev < last) { while(prev < last) { if(num[la

2012-09-11 07:44:25 1416 3

原创 ubuntu 12.04 安装 openCV2.4.2

一定先装依赖的包要不然写openCV程序的时候虽然编译能通过,可能运行时出错。sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev然后下载open

2012-09-09 20:52:17 1342

原创 C语言数组和指针的不同

我们用几个小实例来理解数组和指针的不同之处。两个文件array_define.cchar p[] = "i love you";array_and_pointer.c#includeint main(void){ extern char *p; printf("%c\n",p[3]); return 0;}

2012-07-02 21:59:51 722

翻译 fedora17 安装 openCV

suyum install opencv* 编译opencv程序: g++ `pkg-config --cflags --libs opencv` xxxx.c -o xxxx

2012-06-18 09:05:47 670

原创 C语言递归解决数独

运行程序,依次输入数独中的81个数,数独中没有数字的地方输入0,感觉需要输入那么多数太麻烦了,请大家指导如何改的简单一点。#include#include#define DEBUGint shukudo[9][9];typedef struct shudo{ int x; int y; struct shudo * next;}shukudo_ptr;

2012-05-31 08:12:04 3542 2

原创 C语言写的一个简单文件加密程序

#include#include#includeint decrypt(FILE *in,FILE *out);int encrypt(FILE *in,FILE *out);unsigned char atoh(char *hexstr);int main(int argc,char **argv){ if(argc > 1 && strcmp(argv[1],"--help

2012-05-18 09:23:05 3789

iNodeClient for linux

iNodeClient for linux,802.1X Client

2013-02-27

计算机程序设计艺术(卷一)

计算机程序设计艺术,算法方面的经典之作,卷一

2012-06-18

缓冲区溢出深入探索

关于缓冲区溢出的深入详细讲解。以为WINDOWS系统为平台。

2011-10-26

LINUX编程白皮书(非扫描,PDF)

LINUX编程入门,一切从0开始,带你走进LINUX开发的世界

2011-10-26

DEMO 64K3D作品集合

demo 的64K3D作品集合,里面仅仅用了只能64K,却实现了无法想象的效果,居然能把原来1.9G的动画,压缩到几十K,

2010-12-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除