数据结构
一蓑烟雨任平生灬
学生
展开
-
使用c++容器遍历时用erase()删除,出现死循环问题
先说下erase(),这个函数返回值是删除元素的下一个迭代位置,for(vector<int> ::iterator it = data.begin();it != data.end();++it){for(vector<int>::iterator it = data.begin();it != data.end();){ if(..) {...原创 2019-12-12 10:10:25 · 753 阅读 · 0 评论 -
程序员要知道的移位技巧
一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一转载 2017-08-24 10:17:14 · 688 阅读 · 0 评论 -
枚举类的赋值和基本操作
枚举类型的定义枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。定义格式:枚举类型的定义格式为: enum {};其中:关键字enum——指明其后的标识符是一个枚举类型的名字。枚举常量表——由枚举常量构成。“枚举常量”或称“枚举成员”,是以标识符形式表示的整型量,表示枚举类型的取值。枚举常量表列出枚举类型的所有取原创 2017-08-05 09:04:58 · 26055 阅读 · 0 评论 -
数组指针和指针数组区别图解
最近做了几道题对这个指针数组和数组指针整的比较模糊,然后查询了一些网上资料,整理了一下自己的理解。指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。其实可以通俗的理解,指针型数组《-原创 2017-08-04 15:30:11 · 668 阅读 · 0 评论 -
操作符优先级全列表,一览表
在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的运算顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先原创 2017-08-04 10:49:19 · 5066 阅读 · 0 评论 -
分辨出字符串中的重复数字并计算求和
描述:写段代码,定义一个字符串常量,字符串中只有大小写字母和整数,输出字符串中的出现最多的数字的和?例如 ” 9fil3dj11P0jAsf11j ” 中出现最多的是11两次,输出22。代码:int main(){ char str[] = "a2twx34je2"; int len = strlen(str); char buf[100]; int a[100];原创 2017-07-26 15:03:09 · 924 阅读 · 0 评论 -
<LeetCode>Add Two Numbers
Add Two NumbersYou are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and原创 2017-07-20 20:32:19 · 278 阅读 · 0 评论 -
0-1背包-动态规划
看了许多的0-1背包我感觉这一个讲的很清楚,推荐下。0-1背包http://blog.csdn.net/laoniu_c/article/details/38453083问题描述:给定n种物品和一背包。物品i的重量是w[i],其价值为v[i],背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?分析:对于一种物品,要么装入背包,要么不装。所以对于一种物品的装转载 2017-07-24 10:17:38 · 377 阅读 · 0 评论 -
字符串过滤(删去重复字符)
问题:通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。要求实现函数: void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); 示例 输入:“deefd” 输出:“def原创 2017-07-20 13:46:08 · 1125 阅读 · 0 评论 -
二次探测再散列散列表 源代码(数据结构)
/**********散列表**********/#ifndef HashTable_#define HashTable_ #include "Except.h" template class E,class K>class HashTable{public:HashTable(int divisor = 11);~HashTable(){delete原创 2014-08-05 13:45:51 · 2020 阅读 · 0 评论 -
带头节点的双向循环链表(数据结构)(带有遍历)
/*****************带头节点双向循环链表***************/#ifndef Double_#define Double_ #include #include "DoubleNode.h"#include "Excepte.h"#include "DCIterator.h"using namespace std; template原创 2014-08-05 13:41:31 · 3374 阅读 · 0 评论