随笔分类 - C++
摘要:vc++ error C3861: “make_pair”: 找不到标识符 make_pair前面添加: std:: std::map<CString, CString> map_str; map_str.insert(std::make_pair("aa1","FB001"));
阅读全文
摘要:unsigned short Cal_CRC_Code(const unsigned char *ucpdata,int len) { unsigned short crc=0xffff; unsigned char temp; int n; while(len--) { crc=*ucpdata^
阅读全文
摘要:1 #include <iostream> 2 3 using namespace std; 4 5 struct Node 6 { 7 struct Node *next; 8 int data; 9 }; 10 11 Node *createNode(int x) 12 { 13 Node *p
阅读全文
摘要:按优先级从高到低排列:!、&&、||,!的优先级最高,&&的优先级居中,||的优先级最低。
阅读全文
摘要:cb52a_c++_STL_堆排序算法make_push_pop_sort_heapheapsort堆排序算法make_heap()-特殊的二叉树,每一个节点都比根小,根就是最大的数。大根堆,也可以做成 小根堆寻找最大数,最大数排在最前面。或者寻找最小数,最小数排在最前面push_heap()pop
阅读全文
摘要:cb51a_c++_STL_算法_根据第n个元素排序nth_elementnth_element(b,n,e),比如最大的5个数排序,或者最小的几个数nth_element(b,n,e,p)对比:partition()算法,分区算法 error C2675: 一元“++”:“TT88”不定义该运算符
阅读全文
摘要:cb50a_c++_STL_算法_局部排序partial_sort partial_sort(b,se,e)排序一部分,begin,source end,endcout << "部分排序,开头的5个数排序" << endl;partial_sort(ideq.begin(), ideq.begin(
阅读全文
摘要:cb49a_c++_STL_算法_对所有元素排序_sort_stable_sort sort(b,e) sort(b,e,p) stable_sort(b,e) stable_sort(b,e,p) 注意: 不适用于list容器,list有成员函数sort(); cb49a_c++_STL_算法_对
阅读全文
摘要:cb48a_c++_STL_算法_重排和分区random_shuffle_stable_partition random_shuffle()//重排,随机重排,打乱顺序 partition()分区,把符合规则的分成两个区域,比如奇数放一边,偶数放一边.默认之间的位置会变化 stable_partit
阅读全文
摘要:cb47a_c++_STL_算法_排列组合next_prev_permutation 使用前必须先排序。必须是 1,2,3或者3,2,1.否者结果不准确。如果, 1,2,4,6.这样数据不会准确next_permutation()//原始数据是从小到大的, 1,2,3prev_permutation
阅读全文
摘要:cb46a_c++_STL_算法_逆转和旋转reverse_rotateSTL算法--变序性算法reverse() 逆转reverse_copy()一边复制一般逆转rotate()旋转,某个位置开始前后交换位置rotate(ivec2.begin(), ivec2.begin() + 2, ivec
阅读全文
摘要:cb45a_c++_STL_算法_删除_(3)_unique(唯一的意思)删除连续性的重复的数据unique(b,e),删除连续性的,删除重复的数据,比如如果有两个连续的5,5,则留下一个。unique(b,e,p)unique_copy(b1,e1,b2)unique_copy(b1,e1,b2,
阅读全文
摘要:cb44a_c++_STL_算法_删除_(2)remove_copy_remove_copy_if remove_copy()//在复制过程中删除一些数据remove_copy_if() 删除性算法:remove()remove_if()remove_copy()remove_copy_if()un
阅读全文
摘要:cb43a_c++_STL_算法_删除_(1)remove_remove_ifremove()remove_if() 注意:1.并不是真正的删除,而是把后面的元素向前移动,覆盖被删除元素,元素个数并没有减少最后的一位或者两个的数据向前移动后,最后的数据没有其他数据覆盖,所以数据依然存在。2.返回值是
阅读全文
摘要:cb42a_c++_STL_算法_替换_replacereplace(b,e,ov,nv),ov,old value, nv,new valuereplace_if(b,e,p,v) 根据p的条件,全部更换成v的值replace_copy(b1,e1,b2,ov,nv)//边复制变替换replace
阅读全文
摘要:cb41a_c++_STL_算法_填充新值fill_generatefill(b,e,v)fill_n(b,n,v),填充n个vgenerate(b,e,p)generate_n(b,n,p) generate_n(back_inserter(ilist), 5, rand);//插入5个随机数,r
阅读全文
摘要:cb40a_c++_STL_算法_交换swap_rangesswap_ranges(b,e,b2);如果两个容器的数据数量不一致时,只交换一部分数据,a里面3个,b里面5个,则只会交换3个,b里面还有两个不变 注意:下列两种方法也是交换算法1.容器的swap()成员函数2.赋值操作 1 /*cb40
阅读全文
摘要:cb39a_c++_STL_算法_for_each_transform_比较for_each() 速度快,不灵活transform() 速度慢, 非常灵活 STL算法-修改性算法for_each()copy()copy_backward()transform()merge()swap_ranges(
阅读全文
摘要:cb38a_c++_STL_算法_transformtransform()算法有两种形式:transform(b1,e1,b2,op);//b1(源区间)的数据通过op函数处理,存放在b2(目标区间)transform(b1,e1,b2,b3,op)//把b1,b2结合一起通过op函数处理,存放到b
阅读全文
摘要:cb37a-_c++_STL_算法_复制元素copy_copy_backward copy(),同一个容器内部区间的拷贝,或者容器与容器之间的拷贝copy_backward()//向后copy 注意:1.没有copy_if算法,可以使用remove_copy_if()算法2.复制过程中要逆转元素次序
阅读全文