海岛Blog

海是无垠的,岛在海中是独立的,有一片自己的天空

B00015 平方矩阵问题

给定n,m,min和max,求所有的,满足0 要求:不得使用暴力法,算法复杂度要求O(n,m) 提示: 1.设有k和l,若满足k*l是不满足条件的;若k*l>max,对于i>=k且j>=l,则是不满足条件的。 2.可以考虑用三分法。 3.需要考虑n和m比较小的情形,例如0,1,...

2017-08-30 10:08:05

阅读数:639

评论数:2

B00014 C++实现的AC自动机

代码来自:A C++ implementation of the aho corasick pattern search algorithm。 源程序如下: /* * Copyright (C) 2015 Christopher Gilbert. * * Permission is hereby ...

2016-06-19 22:08:26

阅读数:2060

评论数:0

B00013 字符串哈希函数

哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。 哈希函数用途广泛,这个程序给出了绝大多数常用的哈希函数。源程序来自:哈希算法_百度百科。 程序员可以根据自己的需要取用这些代码。 需要注意的是,有可能string类的方法已经发生变化。实际使用以下程序的...

2016-06-18 18:10:02

阅读数:1034

评论数:0

B00012 C++算法库的sort()函数

这个程序介绍了sort()函数个各种用法。 源程序来自:std::sort - cppreference.com。 程序如下: #include #include #include #include int main() { std::array s = {5, 7, 4, 2...

2016-06-18 11:30:34

阅读数:2110

评论数:0

B00011 unordered_map

是一个有关unordered_map的例子程序,代码来自:std::unordered_map - cppreference.com。 unordered_map是采用哈希搜索的map。搜索速度上也许要优于map。 需要主意的是,对map对象进行遍历时,该对象有可能是未排序的。 源程序如下: ...

2016-06-17 04:59:09

阅读数:573

评论数:0

B00010 map

这是一个有关map的例子程序,代码来自:std::map::emplace - cppreference.com。 源程序如下: /* B00010 map */ #include #include #include #include using namespace std; i...

2016-06-16 20:53:00

阅读数:1095

评论数:0

B00009 C语言分割字符串库函数strtok

切割字符串是常用的处理。 这里给出一个使用函数strtok切割字符串的例子。 使用C语言的库函数strtok来切割字符串的好处在于,可以指定任意字符作为分隔符来切割单词。使用该函数,切割字符串的分隔符可以同时指定多个,放在一个字符串数组中。 程序中,指定了以空格“ ”、逗号“,”和句号“.”作为分...

2016-06-15 20:08:53

阅读数:707

评论数:0

B00008 C++实现的大整数计算(一)

程序来自:BigInteger。 源程序如下: /* * @author panks * Big Integer library in C++, single file implementation. */ #include #include #include #include #...

2016-05-22 22:39:20

阅读数:712

评论数:1

B00007 快速模幂运算的两个C语言程序

代码来自维基百科的Modular arithmetic。 这两段代码都不是大整数计算的程序,是2进制64整数的计算程序,数据不能大于2进制63位。两段代码分别如下: uint64_t mul_mod(uint64_t a, uint64_t b, uint64_t m) { uint64_...

2016-05-16 18:41:58

阅读数:792

评论数:0

B00006 函数itoa()

这是一个通用的基础程序,将整型数转换为数字字符串。 其中需要用到字符串逆序转换函数reverse()。 该程序来自K&C的《C程序设计语言》一书。 程序如下: /* itoa 带符号的整数转换字符串 */ #include #include void reverse(char ...

2016-05-14 01:01:55

阅读数:536

评论数:2

B00005 函数atoi()(去空格,带符号)

这是一个通用的基础程序,将数字字符串转换为整型数。 这个程序会去掉字符串开始的空格,并且能够转换带符号的整数。 该程序来自K&C的《C程序设计语言》一书。 程序如下: /* 带符号的atoi,跳过前面的空格 */ #include #include int atoi(char...

2016-05-14 00:49:22

阅读数:965

评论数:2

B00004 atoi函数

这是一个通用的基础程序,将数字字符串转换为整型数。 程序如下: /* atoi函数:将字符串s转换为相应的整型数 */ #include #include int atoi(char s[]) { int i, n; n = 0; for(i=0; isdigit...

2016-05-08 06:26:06

阅读数:422

评论数:0

B00003 C++标准库 std::bitset

这个程序是有关std::bitset的简单实例。 #include #include using namespace std; int main() { bitset bitv(0xffff); // bits 0 ... 15 are set to 1; 16 ... 31 ar...

2016-05-02 10:01:05

阅读数:505

评论数:0

B00002 C语言位字段实例

本程序源自维基百科。 Declaring a bit field in C: #include // opaque and show #define YES 1 #define NO 0 // line styles #define SOLID 1 #define DOTTED 2 #...

2016-05-02 09:04:21

阅读数:635

评论数:4

B00001 C语言动态存储分配空间作为数组

将动态存储分配的空间作为数组的存储空间来使用。 使用随机数函数生成数据填入数组中,随机数为整数,值的范围为0到999。 用冒泡排序对数据进行排序。 程序如下: #include #include #include void getData(int [], int); void printDa...

2016-05-02 07:34:33

阅读数:1086

评论数:0

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