C/C++小技巧
blank__box
这个作者很懒,什么都没留下…
展开
-
对应字符的相会转换 随机定
现在给出了字母的替换规则,如下所示,A被E替换,B被C替换,依次类推。A B C D E F G H I J K L M N O P Q R S T U V W X Y ZE C F A J K L B D G H I V W Z Y M N O P Q R S T U Xa b c d e f g h i j k l m n o p q r s t u v w x y ze r w q转载 2016-10-11 22:30:48 · 354 阅读 · 0 评论 -
regex C++正则表达式简单使用
/* * 正则表达式是在运行时而非编译时编译的 * 构造一个regex或对一个已有的regex赋新值可能非常耗时 * 我们应该尽量避免不必要的regex */#include #include #include using namespace std;int main2(){ //搜索关键字为ei且前面不是紧接c string pattern("[^c]e原创 2017-11-20 22:36:32 · 1150 阅读 · 0 评论 -
排列算法,生成排列C++permutation
排列算法生成序列的字典序排序,通过算法重排序列来生成字典序的下一个或上一个序列,返回一个bool值来指出是否还有下一个或上一个排列。// next_permutation example#include // std::cout#include // std::next_permutation, std::sort, std::reverseint main () {原创 2017-11-29 20:18:26 · 1978 阅读 · 0 评论 -
template新特性:可变参数模板,(传入参数个数未知)
template Args表示0个或多个模板类型参数#include //负责打印最后一个实参template void print(const T& arg){ std::cout<<"print1"<<std::endl; std::cout<<arg<<std::endl;}//template //void print(const Types&...原创 2017-11-20 19:34:56 · 2787 阅读 · 0 评论 -
C++虚继承的意义和使用
虚继承:多个派生类保存相同基类的同名成员时,虽可以在不同的数据成员中分别存放不同的数据 ,但我们只需要相同的一份。解决了多父类重复成员只保留一份的问题。比如现在有一个沙发床,它既有床的属性又有沙发的属性,它们都有长宽高的属性,但是我们却只需要知道它的一个状态的属性。它的一个长宽高能体现多个状态。家具{属性:长,宽,高;}沙发床:public 沙发原创 2017-10-15 11:05:19 · 13187 阅读 · 3 评论 -
c++快速将容器的所有值相加(accumulate)
Accumulate(累积) values in rangeaccumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。模板:template T accumulate (InputIterator first, InputIterator last, T init){ while (first!=last) { init原创 2017-10-08 10:45:17 · 5359 阅读 · 0 评论 -
C++计算一个字符串中标点符号的个数
#include #include using namespace std;int main(int argc, char *argv[]){ string s("hello world!!!"); decltype(s.size()) punct_cnt=0; for(auto c:s) if(ispunct(c)) ++原创 2017-03-22 10:40:41 · 1723 阅读 · 0 评论 -
堆排序——C++关于堆排序的库函数排序
C++中对于堆排序算法,其实是有一个专门的库函数:sort_heap void sort_heap (RandomAccessIterator first, RandomAccessIterator last,Compare comp);#include // std::cout#include // std::make_heap, std::pop_hea原创 2016-11-25 20:23:24 · 3170 阅读 · 0 评论 -
插入排序——C/C++实现
它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。注意在找插入位置的时候同步进行数据的挪动。#include #include #define size 10using namespace std;void insert_sort(int a[],int len){ int i, j, key; for(i = 1原创 2016-11-25 22:04:15 · 296 阅读 · 0 评论 -
itoa、atoi strchr
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。itoa是广泛应用的非标准C语言和C++语言扩展函数。由于它不是标准C/C++语言函数,所以不能在所有的编译器中使用。但是,大多数的编译器(如Windows上的)通常在/头文件中包含这个函数。功能:将任意类型的数字转换为字符串。在中与之有相反功能的函数是ato原创 2016-12-06 16:29:59 · 380 阅读 · 0 评论 -
选择排序——C/C++实现选择排序
选择排序跟冒泡排序其实很相像。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。#include #include #include #define size 10using namespace std;void select_sort(int a[],int len){原创 2016-11-25 21:47:46 · 435 阅读 · 0 评论 -
链表的排序——冒泡(交换数据与交换指针)
交换数值排序:void sortList(Node * head, int len) { for(int i=0; i<len-1; i++) { Node * cur = head->next; for(int j=0; j<len-1-i;j++) { if(cur->data > cur->n原创 2016-11-20 23:08:59 · 6629 阅读 · 7 评论 -
链表存储——小练习
多编码来强化编程流程#include #include #include struct list{ char name[20]; struct list * next;};typedef struct list list;list* createlist(){ list *head,*p,*q; head=(list*)malloc(sizeof原创 2016-10-29 21:08:42 · 286 阅读 · 0 评论 -
C语言获取当前时间
strftime,是一种计算机函数,strftime() 函数根据区域设置格式化本地时间/日期,函数的功能将时间格式化,或者说格式化一个时间字符串。这里又时间的输出格式 %Y %m %d %H %M %S#include #include int main() { time_t tt; char tmpbuf[80]; tt=time(N转载 2016-10-22 15:41:43 · 614 阅读 · 0 评论 -
两个向量构成的平行四边形面积的求解 ————简单技巧
当有两个向量p1,p2。如果两个向量能够构成平行四边形,其面积可表示为 area= |(x1*y2-X2*y1)|;以下转载详细解析 原文链接:http://blog.csdn.net/zhangxaochen/article/details/80270031. 想了一下首先想到的是高中解析几何知识。因为如果把 (x2, y2) 看做parallelogram的底边,边长就是 s原创 2016-10-10 22:54:37 · 32774 阅读 · 1 评论 -
C++ 引用 (交换两个数的值)
C++中引用能够将很多问题在同级上解决,不会开辟新的空间。在C中是没有引用这个定义的,这也是C++中的一个特色。通过一个swap函数来简单的了解引用。/************************** * 通过引用交换两个数的值 *(类型)&(变量名)=(所引用的变量) * * 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。原创 2016-11-09 12:10:37 · 8746 阅读 · 0 评论 -
namespace 命名空间——多个的相互联系及自动合并;协作开发
#include using namespace std;namespace Space{ int x;}namespace Space//可以看出与上方重名了{ int y;}int main(){ using namespace Space;//对于上方的两个重名的Space便会自动的合并 x=10; y=20; cout原创 2016-11-07 19:21:30 · 2039 阅读 · 0 评论 -
C++ template 模板 模板别名
直接上一个小例子:#include #include #include #include using namespace std;templateusing twin = pair;templateusing scoreNo = pair;int main(){ map score; score.insert ( pair("Anna",100) );原创 2017-11-16 20:13:08 · 465 阅读 · 0 评论