自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 检测()括号的匹配情况

bool bracheck(const string& str){ //由于只有一种括号,这个程序不必用栈. int bras = 0;//左括号的数量. for (auto i : str) { if (i == '(')bras++; else if (i == ')') { if (!bras)return false;//没有可供匹配的左括号 else bras--; } } return bras == 0;//不应该存有括号.}...

2020-09-07 21:37:19 89

原创 用块链实现的栈

这种块链栈在容量可以动态拓展的同时,节省了大量的new操作和delete操作,从而提高了效率. template<typename T, int patchsize=128>//默认模板参数. class patchstack { struct patch { patch* lastptr, * nextptr; T matters[patchsize];//不必用array.因为这个模板本身保存了size信息. patch(patch* lastp) :lastpt

2020-08-30 15:17:53 100

原创 匿名联合体:定义类成员变量的别名

有的时候也许会需要对某些成员变量起多个名字.例如:希望定义一个浮点向量,同时可以充当一个复数点:struct ...{double y,x;}希望可以通过名字’im’作为y的别名,'re’作为x的别名.不可以直接使用引用,如struct ...{double y,x;double& im=y;double& re=x;}它实际上相当于引入了新的成员.用以下方法就完好解决了别名的问题:struct{union{double y;double im;};

2020-08-27 17:54:08 306

原创 特化的大数类:只支持与无符号四字整数的乘法运算

效率:对于一万的阶乘,可以瞬间出结果。#include<cstdio>#include <cassert>//特化的计算。若乘0,则会出错。//采用int_max进制。恰好可以直接分解为16进制。//检验了几十的阶乘,结果是正确的。//缺点:内存有连续依赖。class mutiee{ static const int maxlen = 1000000;//100万位的intmax进制,可以容纳2^(3200万)的数字,也就是一千多万位十进制。这对应于一个正常情况下.

2020-08-03 13:27:27 136

原创 c++: 符号重载:实现特定场合下的bool array[double][double]。

//【c++的自由度高到足以进行语法扩展。】//【下边对mandelbrot set进行语法扩展。】//【这定义了一个特殊的【实数集下的bool数组。】】//mandbrot m;//m[i][j]=true/false。i,j是double值。//true/false取决于复数点是否符合"属于mandelbrot集合"的判定条件。//因此可以将m[i][j]总集看作一个double粒度的数组。而其中的语法也正是最常用的数组语法。//注意"半参(half)"类的使用:它是一个函数的变量表赋值.

2020-07-09 11:46:02 182

原创 c++: map库的应用:结合普通枚举 实现 字符串枚举

#include<assert.h>#include<stdarg.h>#include<string>#include<map>using std::map;using std::string;typedef map<string, int>strint;class strint_serv//这个类绑定在函数中作为static使用。{private: strint si; int head;public: strint_

2020-07-08 12:20:54 1009

原创 c++:set库的应用:维护一个二维bool空间

#include<stdio.h>#include<set>using std::set;//【假定int就是32位,longlong就是64位。】//支持点计数操作。//boolspace利用了索引查找和二叉查找(set)。class boolspace{private: class booltree { private: long long join(int a, int b) { int joiner[2] = { a,b }; return *(lo

2020-07-07 13:35:38 287

原创 一个scanf用例

#include<stdio.h>//"scanf里面的任何%都至少要匹配1个字节",结合断路特性这实在是太讨厌了。//通过分开的scanf,实现了匹配0~1个字节的功能。int scanffunc(char* funcname,int* a,int* b) { int ign = 0;//若是char,会导致栈崩溃。//坑。 if (scanf("%99[a-zA-Z]", funcname) == false)return __LINE__; scanf("%*[ \n\t]")

2020-06-20 12:38:40 151

原创 怎么在cdsn文章中直接上载一个exe程序

众所周知,很多网站支持上载png格式的图片,对于很多其他种类的资源则需要以链接等形式发送。但是,只要网站不对png图进行进一步压缩,就可以以以下方式完好地发送文件了。注意以下源码是一对程序。了解这对程序的原理之后,就可以试着用第一个程序编译出的东西解码代码之后的程序了,它就是第二个程序编译后的可执行文件。//改进:改用自带压缩的png格式。#if 1#include<stdio.h>#include<graphics.h>#include<math.h>boo

2020-06-20 11:15:20 166 1

原创 访问二叉树的通用非递归方法(延申版)

访问二叉树的统一办法。请重视代码下边的注释,特别是注意函数iterator2,它完全扩充了树的遍历思路。在这基础上,可以在这之前srand来进行进一步封装。进一步,iterator可以是任意的输出0~5序列的函数。typedef int elem;struct binode{ elem val; binode* left, * right;};#define totree 0#define tonode 1struct task{ binode* target; int todo

2020-06-11 02:05:43 95

原创 比较特别的生成n维数组的方法

比较特别的生成n维数组的方法。#include<stdio.h>//n维数组代码生成器。void _ndgenerator(int n){ if (n <= 0 || n > 26) { printf("\n[n must be within 1~26.]\n"); return; } printf("\nstruct _%ddim\n{\n", n); printf("\tint* p;\n"); printf("\tint A"); for (in

2020-06-06 16:36:21 232

原创 动态分配的二维数组,及其应用

动态分配的二维数组。并用这个它实现Game of Life。#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<time.h>struct twod//two dimension{ int* p; int X, Y;//数组p[X][Y] twod(int xsize, int ysize) { if (xsize <= 0 || ysize <= 0

2020-06-06 15:04:17 177

原创 利用类实现rand函数,以及相应的优化

在实践中有可能需要几个独立的伪随机函数,以下的方法可以很方便地满足这个需求:class random{public: random(unsigned r, unsigned pa, unsigned pb, unsigned pc) :R(r), a(pa), b(pb != 0 ? pb : 2), c(pc) { ; } unsigned rnd(void) { R = a *...

2020-04-17 18:13:28 231

原创 保存二叉树,以及在程序间传递二叉树

对这个标题感兴趣的话,就直接来看下边的代码吧!是借助文件操作来传递的。//以下代码完整地展示了将一个二叉树结构存储为文件形式,并恢复为二叉树的过程。其中展示了一个玩具版的通信过程。(很容易拓展为程序间传递二叉树的情形,只要两个程序含有相同的函数组即可。)//适合与数据域大小固定,且不含指针的情况。//我在此承认它效率不高,属于重复造轮子,但是我想这个东西很还是适合初学者学习的。//请逐一...

2020-04-10 17:01:06 254

空空如也

空空如也

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

TA关注的人

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