- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 STL之list
stl在编程中真是太重要了,计划近期将几个常用的容器好好研究下。 list是双向循环链表, list每次增加一个元素,只需为新增节点申请一个单元,不存在重新申请所有内存的情况,它的成本是恒定的。而vector每当增加关键元素的时候,都需要重新申请新的更大的内存空间,会调用元素的自身的复制构造函数,存在构造成本。在销毁旧内存的时候,会调用析构函数,存在析构成本。所以在存储复杂类型和大量元素的情况下
2016-09-21 12:06:57 314
原创 map<pair,int>嵌套类型
统计某种类的书某个年份的有多少本(阿里的一道编程题,当时题目只要求用文字描述,现在整理下,可能不完善,)#include <iostream>#include <vector>#include <string> #include <map>#include <algorithm> //sort函数using namespace std;typedef pair<string,int>
2016-09-21 02:06:01 6077
原创 char *和char[]的区别
1.两者在含义上的区别。数组对应着一块内存区域,而指针是指向一块内存区域。 数组的地址和容量在生命期里不会改变,只有内容可以改变; 指针指向的内存区域的大小可以随时改变,当指针指向常量字符串时,它的内容是不可以被修改的,否则在运行时会报错。char*s1="123456789";char*s2="123456";strncpy(s1,s2,6);在编译时不会报错,但是在运行时会报
2016-09-19 12:26:48 489
原创 最小生成树之prim算法和克鲁斯卡尔算法
prim算法: 1)思想: //创建edg[][]二维数组储存图表,low[i]记录未加入点到加入点集合的最小距离,visited数组标记某点是否已加入集合,en[i]表示使i加入Enew的点。(恩人节点) 已知V和E,求Vnew和Enew 初始时令:vnew={v1} 在v-vnew中找出和vnew中点距离最近的点,加入vnew, 2)步骤 step1: 取节点1加入集合vnew,标
2016-09-18 22:54:20 565
原创 基本数据类型所占字节数
跟编译器有关16位编译器 char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节 unsigned int : 2个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个字节32位编译器char :1个字节 char
2016-09-13 22:54:24 759
原创 struct和union的大小
结构体默认对齐方式 在默认对齐方式下,结构体成员的内存分配满足下面三个条件1.第一个成员的地址和结构体的首地址相同,即偏移量为0。 2.结构体每个成员地址相对于结构体首地址的偏移量(offset)是该成员大小的整数倍,如果不是则编译器会在成员之间添加填充字节(internal adding)。 3.结构体总的大小是其成员中最大基本类型大小整数倍,如果不是编译器会在其末尾添加填充字节(trail
2016-09-13 22:03:13 403
原创 八大排序算法
一 .概述 八大排序算法包括 1)插入排序之直接插入排序(Straight Insertion Sort) 2)插入排序之希尔排序(Shells Sort) 3)选择排序之简单选择排序(Simple Selection Sort) 4)选择排序之堆排序(Heap Sort) 5)交换排序之冒泡排序(Bubble Sort) 6)交换排序之快速排序(Quick Sort) 7)归并排序
2016-09-13 10:45:18 224
原创 string,char*,char[]转换
string,char*,char[]转换 string不一定是以null(‘\0’)结束,而char*是 1. string 转const char* string s1=”abcdef”; const char *k=s1.c_str(); 或者 const char *p=s1.data(); printf(“%s%s”,k,p); 注意
2016-09-02 22:02:51 272
原创 Word break
描述: Given a string s and a dictionary of words dict, determine ifs can be segmented into a space-separated sequence of one or more dictionary words.For example, given s = “leetcode”, dict = [“leet”,
2016-09-01 23:24:34 178
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人