C++的小知识
西瓜的夏天啊
这个作者很懒,什么都没留下…
展开
-
strcmp的应用
#include main(){ char *a = "aBcDeF"; char *b = "AbCdEf"; char *c = "aacdef"; char *d = "aBcDeF"; printf("strcmp(a, b) : %d\n", strcmp(a, b)); printf("strcmp(a, c) : %d\n", str转载 2017-01-03 14:28:25 · 568 阅读 · 0 评论 -
递归的理解
下面是个关于递归调用简单但是很能说明问题的例子:[cpp] view plain copy/*递归例子*/ #include<stdio.h> void up_and_down(int); int main(void) { up_and_down(1); return 0; } void up_and_down(int n) { p转载 2017-04-23 22:24:01 · 274 阅读 · 0 评论 -
atof(),atoi(),itoa(),sprintf()等用法总结,强大的sprintf()
这几个都是C语言中原有的字符格式转换函数,包含在头文件转载 2017-04-26 10:35:39 · 850 阅读 · 0 评论 -
string与int和char之间的类型转换问题
string字符串转化为intstring a;cin >> a;//1111int n1 = atoi(a.c_str());//n1=1111;int转string字符串int res=1111;string test = to_string(res);//将数字转化为stringint转char数组#include<iostream>#include<string>#includ原创 2017-04-21 19:39:25 · 749 阅读 · 0 评论 -
输出位数的填充C++
#include<iomanip>cout << setw(4) << setfill('0') << 1 << " + " << setw(4) << setfill('0') << 2<< " = " << setw(4) << setfill('0') <<3<< endl;C中可以这样写// printf("%04d - %04d = 0000\n", str, str);//一共输出原创 2017-04-21 19:42:41 · 536 阅读 · 0 评论 -
合并排序(归并排序)的递归和非递归
输入:先输入进行合并排序元素的个数,然后依次随机输入(或随机生成)每个数字。 输出:元素排序后的结果,数字之间不加任何标识符。 示例:输入:8 11 1 2 4 8 6 15 8,输出:1 2 4 6 8 8 11 15#include<iostream>using namespace std;//合并排序/归并排序template<typename T>v原创 2017-05-03 21:31:17 · 1180 阅读 · 0 评论 -
srand和rand的用法
srand和rand()配合使用产生伪随机数序列。 rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。 如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。 srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的原创 2017-04-21 10:36:05 · 4873 阅读 · 0 评论 -
vector数组元素的排序
struct student{ int sno; int descore; int caiscore;}stu;bool Sortarr( const student &a1, const student &a2){ return a1.descore > a2.descore;}int main(){ vector<student> v1;原创 2017-04-20 23:03:34 · 2635 阅读 · 0 评论 -
数组中插入元素(C++)
用静态数组太麻烦,动态的相对来说跟方便int main(){ vector <int >num(6,9);//产生6个9 for (int i = 0; i < num.size(); i++) { cout << num[i] << " "; } cout << endl; vector<int>::iterator it;原创 2017-05-02 16:00:37 · 22456 阅读 · 0 评论 -
delete引起的debug错误(有关内存释放的一些问题)
//刚开始以为delete有问题,后来发现越界而已 testsort("快速排序②:", Quick2Sort, arr1, 0, n-1);//若为n就会越界 看你的界限是不是写的对,有没有越界更多深层问题:http://blog.csdn.net/phenixyf/article/details/49304903#comments原创 2017-04-28 18:06:03 · 642 阅读 · 0 评论 -
按位异或运算
& 按位与| 按位或^ 按位异或为什么5 & 3得到1;5 | 3得到7;5 ^ 3得到6.. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 0000000原创 2017-02-24 17:43:39 · 4239 阅读 · 0 评论 -
函数模板和类模板的使用
函数模板//交换 int 变量的值void Swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}//交换 float 变量的值void Swap(float *a, float *b){ float temp = *a; *a = *b; *b = temp;}//交换 char 变量转载 2016-12-28 17:24:33 · 1385 阅读 · 0 评论 -
构造函数的继承关系
基类的构造函数和析构函数是不能够被继承的父类(基类)被子类继承后,要实例化(new,应该叫实例化吧?)一个子类(派生类)的时候,编译器会自动帮调用父类的无参构造方法来实例化一个父类。如果父类写了一个含参数的构造方法的话,那么系统不会帮写一个空的无参构造方法,除非自己手动写了一个无参的构造方法。因此如果父类只写了含参构造方法而没有写无参构造方法的话,或者想调用含参的构造方法,那么得在子类体的第一原创 2016-12-27 19:49:00 · 292 阅读 · 0 评论 -
运算符的重载
几乎所有的运算符都可用作重载。具体包含: 算术运算符:+,-,*,/,%,++,--; 位操作运算符:&,|,~,^,> 逻辑运算符:!,&&,||; 比较运算符:,>=, 赋值运算符:=,+=,-=,*=,/=,%=,&=,|=,^=,>=; 其他运算符:[],(),->,,(逗号运算符),new,delete,new[],delete转载 2016-12-27 18:35:22 · 309 阅读 · 0 评论 -
C++中的关于指针的问题
1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。例如:int a = 25;int *ptr = &a;int b[10];int *point = b; int *原创 2016-12-27 16:06:48 · 2141 阅读 · 0 评论 -
基类和派生类的各种访问
公有继承:左边的是在基类中的->右边的是继承到派生类后public->publicprotected->protectedprivate->无法访问除了private其他的都可以直接访问的私有继承:public->privateprotected->privateprivate->无法访问保护继承:public->protectedprote原创 2016-12-27 20:35:56 · 1115 阅读 · 0 评论 -
活动安排问题的贪心算法
1.写出活动安排问题的贪心算法。 输入:先输入活动的个数n,然后依次输入每个活动的开始时间si及结束时间fi。如:时间输入格式为:8:30输入为830。注意:所有值都不能随机生成!!! 输出:活动的选择向量,即0,1的集合。如: 1 0 1 0 1或(1,0,1,0,1) 示例:输入:9 800 1030 900 1130 700 1100 1130 1400 1200 1330 1300 1原创 2017-06-22 01:39:14 · 1067 阅读 · 0 评论