Small Codes
文章平均质量分 70
hustluy
这个作者很懒,什么都没留下…
展开
-
C++头文件iomanip(格式化I/O)
在C++编程输出格式中,经常遇到库函数iomanip。iomanip是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常用的:dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oct 置基数为8 相当于"%o" setfill(c) 设填充字符为c setprecision(n) 设显示小数精度为n位 setw(n) 设域宽为n个原创 2013-01-08 18:00:25 · 545 阅读 · 0 评论 -
标准库函数itoa,atoi,atol,atof
函数: int atoi(const char *str); 函数: long atol(const char *str); 1. 扫描 str 字符串, 跳过str前面的空格(注意只能是跳过Tab 空格 换行 回车键;若为其他就会停止 转换); 2. 从第一个数字字符(或是-、+)开始转换,终止于第一个非字符. 函数:double atof(const ch原创 2013-01-08 18:00:20 · 1134 阅读 · 0 评论 -
对偶单纯型法解线性规划问题
本程序实现的是单纯型法解线性规划问题,在检验向量e首先,要求你在data.txt文件中输入数据,输入方式,例: 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" + this.src)' alt="" src="http://img1.51cto.com/att原创 2013-01-08 18:00:27 · 1810 阅读 · 0 评论 -
STL之排序算法Sorting Algorithms
/******排序性算法 根据实用性和常用性依次为 sort() 对所有元素进行排序, 内部采用quicksort算法, 保证了良好的平均性能. stable_sort() 对所有元素进行排序 ,并保持相等元素间的相对次序 partial_sort() 排序, 直到前n个元素就位 partial_sort_copy() 排序, 直到前n个元素就位, 结原创 2013-01-08 18:00:35 · 391 阅读 · 0 评论 -
其实你不懂程序员
人们常说程序员的生活枯燥为人刻板,其实这是你不懂程序员,代码之外,这些高智商的人幽默有趣,论坛常常是他们展现才华的地方,BLOG是他们分享技术的地方,BBS等地方有问题他门总是热心帮助解答,处理程序异常,修改程序错误等。 程序员也是很懂得品味人生的,因为工作影响他门也许会对生活感慨,伤感自己没足够或是更多的时间去做工作之外的别的事。陪朋友,亲戚,家人、甚至陪女朋友去买套漂亮的衣服的时间转载 2013-01-08 18:00:52 · 263 阅读 · 0 评论 -
auto_ptr中的auto_ptr_ref
先看看类auto_ptr的内部实现机制: templatetypename _Tp> class auto_ptr { private: _Tp* _M_ptr; public: typedef _Tp element_type; //////****构造函数******/ explicit auto_原创 2013-01-08 18:00:54 · 300 阅读 · 0 评论 -
共用体变量的内存分配
共用体类型变量的内存分配问题: 一句话共用体变量的内的各个成员都是从低字节开始公用的; 比如union UnionType{ int x; char ch[4]; }temp; x = 24897; //x的二进位为(从高位到低位依次) 00000000 00000000 01100001 01000001 此时 ch[0] 的二进制就为 01000001原创 2013-01-08 18:01:00 · 1254 阅读 · 0 评论 -
java实现批量拷贝音乐文件
一般在利用播放器批量下载歌曲之后,想把刚刚下的歌曲复制到手机里面,但是一个一个筛选刚刚下的歌又太费事,所以干脆动手码一下,以后就省事了。代码功能:将当天下载的歌曲复制到目标目录里面,如果有歌词的话,也会将歌词lrc文件一块复制过去。package moveMusic;import java.io.File;import java.io.FileInputStream;import原创 2013-07-12 17:53:40 · 1091 阅读 · 0 评论 -
最大流--解法1
默认节点s=0,t=n-1数据输入样例:点数 边数边...6 100 1 160 2 131 2 101 3 122 1 42 4 143 2 93 5 204 3 74 5 4#include #include #include #include #include #include using namespace std;原创 2013-07-14 21:36:53 · 593 阅读 · 0 评论 -
试用CSDN的代码片功能
试用代码片功能#include #include using namespace std;const string haabMonthNames[] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "m原创 2013-07-28 19:23:37 · 735 阅读 · 0 评论 -
二分实现查找不小于x的第一个数/不大于x的最后一个数
要求:对于一个严格升序排列的数组,分别找出不小于特定值x的第一个数和不大于x的最后一个数例:1 2 3 4 5 6 7 8 9 10不小于x=5的第一个数为:5不大于x=5的最后一个数也为:5#include #include using namespace std;int GetLastValueLessThan(int v, vector& svec){ i原创 2013-08-11 16:55:46 · 2283 阅读 · 0 评论 -
Trie树实现三----双数组trie树
双数组trie结合了数组形式的转换表和链表形式的转换表的优点,不仅查询速度快,而且使用内存紧凑。下面代码只是提供了Trie树的简单实现,没有考虑动态扩展base和check。具体实现过程的详解请查考An Efficient Implementation of Trie Structures附上代码:#include #include #include #include #i原创 2013-09-30 16:19:38 · 1353 阅读 · 1 评论 -
Trie树实现一
Trie树可以用来进行高效的关键字检索,查询效率只跟要查询的关键字的长度相关,可跟hash相比拟。有关Trie树的详细介绍,请参考http://linux.thai.net/~thep/datrie/datrie.html这里给出了Trie树最简单的一种实现,即把Trie树看作有限状态自动机,用数组实现状态的转换。#include #include using namespa原创 2013-09-26 15:24:05 · 529 阅读 · 0 评论 -
Trie树实现二
#include #include #include #include using namespace std;class Node;struct EqualTo : public binary_function, char, bool>{ public: bool operator() (pair obj, char ch) const { return原创 2013-09-26 20:03:55 · 673 阅读 · 0 评论 -
当const指针遇到const引用
当const指针遇到const引用首先,咱们先理清这么几个概念:const指针;指向const对象的指针;const引用;指向const对象的引用。如果你愿意,可以这么认为:所有的引用类型都是常引用。原创 2014-03-21 21:54:41 · 1095 阅读 · 0 评论 -
百度之星12月23号题目之地铁
T城市有N个地铁站,但它们不是两两之间都有地铁经过的,有一些地铁站之间存在一条单向的地铁通道。 现在,Ryan需要为T城市的地铁站做一个大改造,由于群众抱怨,一些地铁站的出发车次和到达车次的数目差距太大,导致地铁站建设混乱。同时,Ryan也接到上级命令,暂时不修建新线路,只拆除,并且至少保留K条原有线路,在这个前提下,他希望尽量满足群众需求,使得所有地铁站出发车次和到达车次的最大差距最小,能保持差原创 2013-01-08 18:01:55 · 534 阅读 · 0 评论 -
统计一个数组中相同元素个数
#include #include #include #include using namespace std;void Count_sameElems(vector& v){//nlog(n) sort(v.begin(), v.end()); int prior = v[0], count = 0; int i = 0; while( i { i原创 2013-01-08 18:01:51 · 3530 阅读 · 0 评论 -
windows下tracert程序实现
个人原来对网络编程不怎么感冒的,逼于作业的需要,写个tracert的程序实现:折腾了半天,终于写了个初级版的......(关于tracert原理,这里就不啰嗦了,网上一坨)关键部分:1.建立原始套接字,socket(AF_INET, SOCK_RAW, IPPROTO_ICMP) or WSASocket(AF_INET, SOCK_RAW, IPPROTO_ICMP, NUL原创 2013-01-08 18:01:49 · 2898 阅读 · 1 评论 -
while(cin>>something)
经常在判断输入文件是否结束时用到这样的代码: int a; while (cin >> a) { do something; } 但是"cin >> a"为什么转载 2013-01-08 18:00:43 · 509 阅读 · 0 评论 -
百度之星12月23号题目之du熊做实验
Problem Descriptiondu熊是个爱学习的孩子,他总喜欢在生活中做一些小实验,这次du熊想研究一下光合作用。du熊的实验材料有如下几样:神奇的种子,普通的纸箱和一些光源。一开始du熊将种子均匀的种在了箱子底部,你可以将其看成X轴,种子的位置为X轴上的点。然后du熊用纸板将箱子盖住,并在纸板上安装了一些光源(具体见图)。神奇的种子会在有光的情况下一直向上生长直到没光为止。现在du熊想知原创 2013-01-08 18:01:53 · 479 阅读 · 0 评论 -
文件读写(文本形式/二进制形式)
#include #include #include /* 当按照文本方式 (1)往文件中写入数据时,一旦遇到换行字符(ASCII为10), 则会转换为回车-换行(ASCII为13、10)。{字节数比内存字节多1} (2)读取文件时,一旦遇到回车-换行的组合(即连续的ASCII为13、10), 则会转换为换行字符(ASCII为10); */ /* 总之, 所有文件都按照原创 2013-01-08 18:00:18 · 454 阅读 · 0 评论 -
memset函数
用memset(void* buffer, int val, size_t size) 可将buffer开始的前size个字节, 每个字节全部置为val; 经常用于将数组清零;memset(buffer,0,size); 但是如果要将 int buffer[10]; 中每个元素全部置为10,原创 2013-01-08 18:00:31 · 471 阅读 · 0 评论 -
由年月日计算是周几
/*****根据当前的年、月、日 算出当前是周几. 基姆拉尔森计算公式: W = (D + M*2 + 3*(M+1)/5 + Y + Y/4 -Y/100 + Y/400)%7.公式有一个特殊之处: 当 M = 1或2时,要把当前的年份转化为上一年的13或14作为数值原创 2013-01-08 18:00:33 · 438 阅读 · 0 评论 -
用链表实现一个通讯录
#include #include #include typedef struct DIR{ char name[50]; char clas[20]; char teleNum[15]; struct DIR *next; } Dir ,*pDir; void Init(pDir *h){//初始化头指针 *h = ( Dir *)malloc(siz原创 2013-01-08 18:00:37 · 788 阅读 · 0 评论 -
我的大学
我的大学 大学已经混了一半了,在这期间是做了很多事,但令自己满意的事却是很少,就自己学习编程而言吧,我是从大二上学期开始学习C++的,刚开始学习C++主要是因为学过c后,老是感觉c中的输入、输出太过于繁琐,简洁地说,是c++中简便的cin/cout吸引了我,从那开始,我就开始了自己学习c++的进程,但是把一样东西当做兴趣去学,和把它当做任务去做是完全不同的两个概念,曾经对自己原创 2013-01-08 18:00:39 · 403 阅读 · 0 评论 -
程序员的思考
程序员不应该只是程序员,不管是生活还是工作,有时候对一个人来说需要有多重的角色,而跨角色的工作有时候更会让人对你刮目相看。你是程序员,你能按要求写出健壮的代码并不算什么,因为别人对你就是这个期望,你虽做到了但在别人的眼里真的不算什么(请参看本人的博文《期望管理》),但你是程序员,如果你能十秒之内从三楼跳下地面而不受伤,你就是牛人。你是程序员,如果你能单手做二十个俯握撑你就会得到称赞…… 是的转载 2013-01-08 18:00:41 · 316 阅读 · 0 评论 -
AVL二叉查找树
/** Description:平衡二叉树AVL树的构造 **/#include#include#includeusing namespace std;const int LH = 1;//左子树的深度大于右子树 const int EH = 0;//左子树的深度等于右子树const int RH = -1;//左子树的深度小于右子树typedef st原创 2013-01-08 18:01:02 · 317 阅读 · 0 评论 -
大数阶乘
/* Description:大数阶乘 n!*/#include#include#include#define MAX_SIZE 100024int ans[MAX_SIZE+10];void Multiply(int n){ int i, move = 0; for(i = 0; i ans[i] = ans[i]*n原创 2013-01-08 18:01:26 · 360 阅读 · 0 评论 -
C语言复杂的类型声明
本文最终达到目标:读懂 ( (void(*)(void))&shellcode )() 和 int *(*func())() 是什么意思。如果你能读懂,那甭往下看了,不会有什么收获。 关于这个问题,主要有两种方法,一种是右左法则,一种是优先级法则,我个人喜欢优先级法则(其实两者貌似是异曲同工),下面以优先级法则为例说明这个问题:简要概述: 先从最转载 2013-01-08 18:01:40 · 488 阅读 · 0 评论 -
差分进化g05测试代码
/* Description: */ #include #include #include #include #include #define Inf 1e-10; int group;//群体规模 int dimension;//变量维数 int maxGen;//最大迭代次数 double CR;//交叉概率 double F;//缩放因子 double *原创 2013-01-08 18:01:42 · 580 阅读 · 0 评论 -
自动类型转化的鲜为人知的陷阱
/* * 最近在读取文件的时候用到了c++里面的seekg(fstream::off_type, fstream::seekdir), * 很自然的调用seekg(-str.size(), fstream::cur);结果悲剧了,文件指针却向前移动很多个 * 字节。纠结了半天,改调用为seekg(-(int)str.size(), fstream::cur),指针移动正常。 * 可是为什么会这样呢原创 2013-01-08 18:01:46 · 409 阅读 · 0 评论 -
全排列的三种写法
全排列的三种写法:解法1:递归思想,首先选定第一个数(有n种不同的选择方式),然后对剩下的n-1个数进行全排列;根据此步骤,对剩下n-1数的全排列进行递归。解法2:枚举思想,想象有n个位置,每一个位置可放置一个数。对每一个位置枚举各个数字。解法3:根据初始排列,依次生成下一个排列。如 1 2 3 -> 1 3 2 -> 2 1 3... ...原创 2014-04-10 21:14:55 · 2809 阅读 · 0 评论