自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

peng_weida的专栏

hello, world

  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

转载 OpenGL矩阵变换

文章转自:http://blog.csdn.net/lyx2007825/article/details/8792475Overview几何数据——顶点位置,和标准向量(normal vectors),在OpenGL 管道raterization 处理过程之前可通过顶点操作(Vertex Operation)和基本组合操作改变这些数据。Object Coordinates...

2015-05-19 17:28:57 717

原创 code::Blocks 中配置android x86的编译环境

之前是android arm 的编译环境,现需改为android x86的环境1. Project-->build options, 选择android平台,selected compiler 选择 GNU GCC Compiler,之前arm环境选的是 GNU GCC Compiler for ARM2. Project --> build options --> Comp...

2015-05-19 15:24:41 1060

原创 一个简单的OpenGL ES 3.0 示例 (Android NDK jni)

OpenGL ES 3.0 上的一个三角形例子,网上可以下载到android skd 版(java)和 android ndk (c&c++版)为了了解一下JNI,于是写了如下小程序。这个例子是使用jni, java中调用c中的代码完成三角形的渲染, 其中shader代码保存在assets目录下,如下目录图:其中,com_jnirenderer_RendererJNI...

2015-04-22 20:52:26 16365 5

原创 加载ETC1格式编码的PVR压缩文件

今天在定义

2014-10-15 20:31:54 4591

原创 单链表排序

写得很复杂,没有写在一个函数中,而是分了三个函数,也没去仔细检查,写在这方便查看,有错大家就指出哈结构体定义为:typedef struct _list{ int data; int key; struct _list *next;}LIST;要求按字段data大小排序思路:1. 找到字段data最小的节点2.将步骤1中找到的节点移至头节

2013-03-16 12:18:50 766

原创 华为机试 删除字符串中所有给定的子串

问题描述: 在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。要求实现函数: int delete_sub_str(const char *str, const char *sub_str, char *result_str)【输入】 str:输入的被操作字符串         sub_str:需要查找并删除的特定子字符串【输出】 result_s

2012-09-13 11:08:50 6876 1

原创 给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数

假设rand5能随机生成1~5的5个数(均等概率),利用rand5生成rand7() 1~7(均等概率)1. 利用rand5求出rand2(),当rand5生成的数大于2时,一直循环,直到它生成的数为1或者2,且生成1和2的概率均为1/2,因为生成1和生成2的概率是相等的。2. 利用rand2生成0和1(减1即可),连续使用三次,共有8种可能(二进制表示):000001 010 011 ...

2012-09-04 16:39:47 5463 3

原创 关于ping程序

关于网络编程,知之甚少,linux环境下编程的经验也比较缺乏,于是乎,在百度文库上下载了一个关于ping的程序设计,照着将代码敲打一遍,顺便熟悉某些东东。敲完代码,运行时,发现错误极多,正好也试着学习用GDB调试。下面是一些琐碎的知识点,写写加深印象。 1. 关于ping程序 用于确定本地主机与网络中其它主机的网络通信情况,常使用ping程序。ping程序向指...

2012-08-08 17:20:51 9024

转载 STL源码剖析---红黑树原理详解下

文章转自:http://blog.csdn.net/hackbuteer1/article/details/7760584 算法导论书上给出的红黑树的性质如下,跟STL源码剖析书上面的4条性质大同小异。 1、每个结点或是红色的,或是黑色的 2、根节点是黑色的 3、每个叶结点(NIL)是黑色的 4、如果一个节点是红色的,则它的两个...

2012-07-26 15:45:57 4296

转载 STL源码剖析---红黑树原理详解上

文章转自:http://blog.csdn.net/hackbuteer1/article/details/7740956一、红黑树概述 红黑树和我们以前学过的AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。不过自从红黑树出来后,AVL树就被放到了博物馆里,据说是红黑树有更好的效率,更高的统计性能。这一点在我们了解了红黑树的实现原理后...

2012-07-26 15:37:16 4156

转载 STL源码剖析---deque

文章转自:http://blog.csdn.net/hackbuteer1/article/details/7729451一、deque的中控器 deque是连续空间(至少逻辑上看来如此),连续线性空间总令我们联想到array或vector。array无法成长,vector虽可成长,却只能向尾端成长,而且其所谓的成长原是个假象,事实上是(1)另觅更大空间;(2)将原数据复制过去;(...

2012-07-26 10:16:38 591

转载 STL源码剖析---list

文章转自:http://blog.csdn.net/hackbuteer1/article/details/7726116 相较于vector的连续线性空间,list就显得复杂许多,它的好处是每次插入或删除一个元素,就配置或释放一个元素空间。因此,list对于空间的运用有绝对的精准,一点也不浪费。而且,对于任何位置的元素插入或元素移除,list永远是常数时间。 list...

2012-07-25 16:58:03 482

转载 STL源码剖析---vector

文章转自:http://blog.csdn.net/hackbuteer1/article/details/7724547vector容器概述 vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变;要换个大(或小)一点的房子,可以,一切琐细都得由客户端自己来:首先配置一块新空间,然后将元素从旧址一...

2012-07-25 15:02:21 707

原创 排列组合

概念就不用具体介绍了,这个不太容易忘记。说下公式:从n个不同元素中取出m个元素的排列数A(n,m) = n(n-1)(n-2)....(n-m+1) = n! / (n-m)! 从n个不同元素中取出m个元素的组合数C(n,m) = A(n,m) / m!= n!/ ((n-m)!* m!) C(n,m) = C(n,n-m)C(n,k) + C(n,k+1) = C(n+1,

2012-07-17 17:20:26 688

原创 卡特兰数列

以下内容摘自百度百科:http://baike.baidu.com/view/1163998.htm如有侵权,请告知博主*_* 概念:    卡特兰数列(catalan)经常出现在各种计数问题中,是组合数学中比较重要的数列之一。    卡特兰数列的前几项为1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012

2012-07-13 17:49:23 3546

原创 一个整数数组,长度为n,将其分为m份,使各份的和相等,求m的最大值

本文代码参考网址:http://blog.csdn.net/v_july_v/article/details/6870251 问题描述:一个整数数组,长度为n,将其分为m 份,使各份的和相等,求m 的最大值比如{3,2,4,3,6} 可以分成{3,2,4,3,6} m=1;{3,6}{2,4,3} m=2{3,3}{2,4}{6} m=3 所以m 的最大值为3 算法分析

2012-07-12 20:34:17 11314 8

原创 二叉树的遍历(递归和非递归)

包括前序、中序、后序的递归与非递归,以及层次遍历前序非递归(1) 当节点不为空时,访问完该节点数据后,该节点需要进栈保存,然后访问其左子树节点(2) 当栈中节点出栈时,说明该节点及其左子树节点已经访问完成,出栈后进入其右子树进行访问中序非递归(1) 和前序非递归类似,不同的是访问节点数据的时机,在出栈时访问即可后序非递归(1) 需要一个标志来记录该节点数

2012-07-06 22:01:52 704

原创 求解无向连通图的关节点

参考数据结构(C语言版)第七章,算法7.10和7.11求解思路1.深度优先生成树的根是关节点的充要条件是它至少有两个子女2.任何其它顶点u是关节点的充要条件是u至少有一个子女w,使得经过只由w,w的后代以及一条回边构成的路径不可能到达u的祖先,因为删除顶点u及其关联的边将使w及其后代与u的祖先断开联系。    假设顶点w的祖先包括w本身,为了表示一个顶点经过其后代以及一条回

2012-07-05 23:31:13 6311

原创 有向图的最长路径及是否存在环路结构

问题描述:有n个长为m+1的字符串,如果某个字符串的最后m个字符与某个字符串的前m个字符匹配,则两个字符串可以连接。问这n个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。分析:把每个字符串看成一个图的顶点,两个字符串可以连接就形成一条有向边。相当于判断一个有向图是否存在环以及求该有向图的最长路径。可用图的深度优先遍历算法来求解,图用邻接表表示。 1. 求解有

2012-07-04 12:26:24 5248 4

原创 决胜出比赛第一名

问题描述:n支队伍比赛,分别编号为0,1,2。。。。n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j的队伍中更强的一支。所以w[i][j]=i 或者j,现在给出它们的出场顺序,并存储在数组order[n]中,比如order[n] = {4,3,5,8,1......},那么第一轮比赛就是 4对3, 5对8。.......

2012-07-03 16:53:16 949

原创 求一个矩阵中最大的矩阵(元素和最大)(二维情况)

问题描述:如: 1  2   0 -3  -4-2 -3  4  5   1-1 -1  5  3   0中最大的二维矩阵是:4 5 15 3 0其元素和为18。参考编程之美2.15:子数组之和的最大值(二维)算法:假设矩阵为N行M列,枚举这个矩阵上下边界,然后再利用一维情况下的方法确定左右边界,就可以将二维问题的解。时间复杂度:O(N*N*M)

2012-07-03 16:46:03 2063

原创 生产者消费者多线程示例(win32,linux)

描述:(1) 两个线程,一个生产者,一个消费者(2)一个生产者线程将int类型的数入列,一个消费者线程将int类型的数出列在win32环境下实现:参考网址:http://topic.csdn.net/t/20051109/19/4382819.html#include #include #include using namespace std;#define

2012-07-03 16:39:30 896

原创 kmp算法实现

#include #include #include void get_next(const char* str, int next[]);int run_kmp(const char* src, const char* dest);int main(){ char *src = "cadababc"; char *dest = "aac"; int loc = run_km

2012-06-15 15:23:37 485

原创 BM算法实现

main文件:#include "BM.h"//BF算法(朴素模式匹配算法):时间复杂度O(strlen(src)*strlen(dest)), 空间复杂度O(1)//KMP:时间复杂度O(strlen(src)+strlen(dest)), 空间复杂度O(strlen(dest))//BM :时间复杂度最好O(strlen(src)/strlen(dest)), 最坏O(strl

2012-06-15 15:18:30 1155

原创 快速排序、堆排序、希尔排序实现

#include #include #include void swap(int *a, int *b);void quick_sort(int array[], int low, int heigh);int partion(int array[], int low, int heigh);void init_heap(int array[], int id, int len)

2012-06-15 15:13:00 536

原创 交换两序列a,b中的元素,使序列a的和与序列b的和之间的差值最小

参考网址:http://blog.csdn.net/v_JULY_v/article/details/6126444 第32题问题描述:有两个序列a,b,大小都为n,序列元素的值任意整数,无序;要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小代码实现:#include #include #include void swa

2012-06-15 15:08:27 1520

原创 栈的push、pop序列

参考网址:http://blog.csdn.net/v_JULY_v/article/details/6126444问题描述:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。 比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就有可能是一个pop系列。因

2012-06-15 14:57:01 442

原创 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)

功能描述:在字符串中找出连续最长的数字串,并把这个串的长度返回,同时把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789这个,直接上代码:#include #include int continumax(ch

2012-06-15 14:51:37 793

原创 查找最小的K个元素

问题描述:输入n个整数,输出其中最小的k个。例如:输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。解决方案:用数组来存储这n个数,遍历前k个树,对前k个数建立大顶堆,继续遍历数组剩余元素,每遍历一个,都与堆顶元素相比较,若其值小于堆顶元素,则它们相互交换,并更新堆,使其仍然保持大顶堆特性。代码实现:#include #i

2012-06-15 14:40:36 986

原创 跨楼梯/台阶问题

问题描述:某楼梯共有N阶,一次可以跨一阶,也可以跨两阶,问总共有多少种走法~采用递归的方法来完成。代码如下:#include #include int g_num = 0;void f(int step, int n);int main(){ int n; printf("pls input n : "); scanf("%d", &n); f(1, n);

2012-06-14 21:38:35 1814

原创 字符串编辑距离

这篇文章是在新浪博客上写的,现搬过来,算是第一篇吧~题目如下,最后给出实现代码,该代码仍在测试中,仅供学习交流!  编写一个程序计算两个字符串的编辑距离。编辑距离的定义和计算方法如下:    Given two strings A and B, edit A to B with the minimum number of edit operations:a) .Replace a

2012-06-14 11:20:07 4021

ASP.NET书店(小部分)

  只是实现了一小部分的功能,相信对大家有所帮助.

2008-11-15

空空如也

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

TA关注的人

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