自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

转载 小十四

下标运算符要有const与非const重载两种版本。struct absInt { int operator()(int val) const { return val < 0 ? -val : val; } }; //函数对象,如同一个lambdaint main() { int i = -42; absInt absObj; /

2018-02-11 16:02:12 166

原创 十三姨

需要析构函数的类也需要拷贝和复制操作 需要拷贝操作的类也需要赋值操作NoCopy(const Nocopy)=delete;//阻止拷贝 NoCopy &operator=(const NoCopy&)=delete;//阻止赋值析构函数不能被删除如果一个类有成员不能默认构造,拷贝,赋值或销毁。那么对应的成员函数将被定义为删除的如果一个类中有引用成员赋值操作考虑自赋值运算,并且要将左值原有的资源进

2018-02-11 14:19:21 138

原创 章鱼哥的12门徒

int *p = new(std::nothrow)int(3); p=new int(1024); p.reset(new int(1024)); void f() { shared_ptrp(&i,end_connection); //使用自己定义的删除器end_connection。 //默认情况下使用delete }

2018-01-31 22:48:53 207

原创 第十一章鱼哥

#include using std::map; #include using std::string; #include using std::pair; #include using std::size_t; #include using std::cin; using std::cout; using std::endl; int main() { // coun

2018-01-29 13:32:51 160

原创 第十章

int main() { vectorint>vec; vec.push_back(1); vec.push_back(2); vec.reserve(50); auto iter=std::back_inserter(vec); fill_n(iter, 10, 9); for (auto a : vec) {

2018-01-25 16:09:40 115

原创 第八章

#include<iostream> using namespace std;int main() { wchar_t w_ch; wcin.imbue(locale("chs")); wcout.imbue(locale("chs")); //设置语言环境 wcin >> w_ch; wcout << w_ch << flush; } //io流对于

2018-01-22 10:28:20 123

原创 第七章

#ifndef SALES_DATA_H #define SALES_DATA_H #include "Version_test.h" #include #include class Sales_data { friend Sales_data add(const Sales_data&, const Sales_data&); friend std::ostream &print(st

2018-01-20 22:37:53 199

原创 C++ Primier读书笔记(第六章2)

顶层的const在重载时无法相互区分,底层的可以void lookup(int i) {} void lookup(const int i) {}void lookup(int* i) {} void lookup(int* const i) {} //重复声明void lookup(char& ch) {} void lookup(const char&) {}void lookup(char *

2018-01-17 22:29:58 110

原创 C++ primier(第五版)第五章读书笔记

case语句块 int i = 30; switch (i) { case 1: string file_name; int ival = 0; int jval; break; case 2: jval = 2; if (file_name.empty()) { } break; default: break; }//非法如

2018-01-16 20:49:46 200

原创 C++ primier(第五版)读书笔记 第四章

C++中的左值与右值 当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。我们可以在需要右值的地方使用左值来代替,但是不能把右值当成左值使用;(int b=a与int 2=b) 使用关键字decltype时,如果表达式求值结果是左值,decltype将得到一个引用类型。假设p的类型是int *,因为解引用运算符生成左值,那么declt

2018-01-13 09:09:06 150

原创 C++ Primier读书笔记(第三章)

getline<cin,string>; //带空格的字符串输入 //cin在读到换行符时截止,换行符不写入string一个有趣的事实是,string.size()返回的对象似乎是一个 unsigned类型的整数。 事实上,该函数返回的类型是string::size_type的值,这种类型是在string或者是其他标准库中(如vector)内部定义的。对于size_type,只需要注意两点:①它是

2017-11-28 19:56:53 135

原创 c++premier(第五版)读书笔记-第二章

C++11支持变量的列表初始化。即 int a{11}; 当用于内置类型的变量时,这种初始化形式有一种重要特点: 如果我们使用列表初始化且初始值存在丢失信息的风险,则编译器将报错。 定义在函数体内部的内置类型如果不被显示初始化,那么他就不会被初始化。

2017-11-14 19:55:51 472

原创 基数排序

Pythondef radixsort(l,num1): l1=[[],[],[],[],[],[],[],[],[],[]] for x in range(0,num1): for y in range(0,len(l)): num=getinpos(l[y],x) l1[num].append(l[y])

2017-04-27 15:18:56 189

原创 堆排序

C++#include <iostream> #include<algorithm> using namespace std;void HeapAdjust(int *a,int i,int size) //调整堆 { int lchild=2*i; //i的左孩子节点序号 int rchild=2*i+1; //i的右孩子节点序号 int max

2017-04-25 13:46:55 152

原创 快速排序

C++void quicksort(int list[],int m,int n) { int key,i,j,k; if( m < n) { k = (m+n)/2; swap(&list[m],&list[k]); key = list[m]; i = m+1; j = n; while(i <= j)

2017-04-24 09:31:56 174

原创 最大子序列和的分治算法

C++int maxsum(int *A,int x,int y) { int v,l,r; if(y-x==1) return A[x]; int m=x+(y-x)/2; int maxs=max(maxsum(A,x,m),maxsum(A,m,y)); int v1,l1,r1; v1=0;l1=A[m-1]; for(

2017-04-23 20:14:52 493

原创 归并排序

Pythondef merge_sort(lst): if(len(lst) <= 1): return lst left = merge_sort(lst[:int(len(lst)/2)]) right = merge_sort(lst[int(len(lst)/2):len(lst)]) result = [] while len(l

2017-04-22 21:00:46 227

转载 C与指针——转换表

#include <stdio.h> #include <string.h> #define M 4 int add(int a, int b); int sub(int a, int b); int mul(int a, int b); int div(int a, int b); int (*oper_func[])(int, int) = { add, sub, mul, div }; ch

2017-03-13 15:52:29 325

原创 以斐波那契数列为例——浅尝记忆化搜索

记忆化搜索:算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。 一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。 更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。 记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解一个状态,就将它的解保存下来, 以后再次遇到这个状态的时候,就不必重新求解了。

2017-01-03 20:37:10 979

原创 UVA 272

#include<stdio.h> int main(void){ char temp; bool key=true; while((temp=fgetc(stdin))!=EOF){ if(temp!='"') printf("%c",temp); else{ printf("%s",key

2017-01-03 20:20:46 296

原创 练习1

#include<cstdio> #include<iostream> #include<deque> #include<stack> #include<algorithm> using namespace std; void input(deque< deque<int> >&x,deque<int>&y); void output(deque< deque<int> >&x); int main

2016-12-13 15:18:27 180

原创 HDU 1237

#include<cstdio> #include<stack> #include<iostream> using namespace std; int main() { stack<double> num; int a;double t,add=0,number; char b,c,space; while(scanf("%d%c",&a,&b)!=EOF) {

2016-12-12 21:23:30 180

空空如也

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

TA关注的人

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