-
C#开发实战1200例(第一卷+第二卷)+源码下载地址.txt
2019-05-17 09:24:24实例095 在数组中添加一个元素 112 实例096 在数组中添加一个数组 113 实例097 不改变长度删除数组中的元素 115 实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117 实例099 使用选择... -
《从新手到高手——C++全方位学习》.pdf【第一部分】
2011-06-23 16:12:139.4.2 引用一个按值返回的堆中对象 138 9.4.3 引用一个按别名返回的堆中对象 140 9.4.4 在哪里创建,就在哪里释放 141 9.5 总结 142 第10章 深入函数 144 10.1 函数重载 144 10.1.1 普通函数的重载 144 ... -
书 名:程序开发范例宝典>>【中卷】(分三卷上传完本书案例)
2010-04-05 21:59:37实例164 设置图像中指定位置的像素值 230 实例165 在图像文件中实现自定义标记 232 实例166 获取指定点的RGB值 234 4.9 图像工具 235 实例167 获取图片类型 235 实例168 简单画图程序 236 实例169 看图... -
Visual C++范例大全 本书全部源码(1~17章)共406个实例
2010-02-06 15:27:35实例271——实现应用程序在系统中只能运行一个实例 实例272——获取所有打开窗口程序的句柄、类名及标题 实例273——创建和终止进程 实例274——三种方法实现启动其他的应用程序 实例275——使用剪贴板实现程序... -
Visual C++范例大全 本书全部源码打包(1~17章)共406个实例
2013-08-18 10:08:00实例271——实现应用程序在系统中只能运行一个实例 实例272——获取所有打开窗口程序的句柄、类名及标题 实例273——创建和终止进程 实例274——三种方法实现启动其他的应用程序 实例275——使用剪贴板实现... -
剑指offer(二.1)数据结构篇之数组
2016-06-30 21:21:59数组下标设为哈希表的键值key,把数组中的每一个数字设为哈希表的值value,每个下标及数组中该下标对应的数字组成键值-值的配对。实现O(1)的查找。 如P186 面试题35:第一个只出现一次的字符 在字符数据结构重点:数组、字符串、链表、树、栈、队列
数组:占据一块连续的内存并按顺序存储数据。
创建数组时,先指定数组大小,再根据大小分配内存。【预先分配内存】
1.数组实现简单哈希表
数组下标设为哈希表的键值key,把数组中的每一个数字设为哈希表的值value,每个下标及数组中该下标对应的数字组成键值-值的配对。实现O(1)的查找。如P186 面试题35:第一个只出现一次的字符在字符串中找出第一个只出现一次的字符。如输入:“abaccdeff”,则输出‘b’。思路:统计每个字符出现在该字符串的次数,用一个数据结构存放每个字符出现的次数,完成字符到数字的映射,可用哈希表。该题目中只需一个简单的哈希表就可实现。
当需要判断多个字符是不是在某个字符串中出现过,或统计多个字符在某个字符串中出现的次数,可以考虑这种方法,基于数组创建简单的哈希表。/* * 利用哈希表算法,扫描两次字符串, * 第一次记录相同位置的字符出现的次数, * 第二次找到第一个次数为1的字符并返回。时间复杂度为O(n),空间效率O(1)。 */ #include <iostream> #include <string> using namespace std; char FirstNotRepeatingChar(char* pInString) { if (pInString == NULL) return 0; //定义并初始化哈希表 const int tableSize = 256; int hashTable[tableSize]; for (int i = 0; i < tableSize; ++i) hashTable[i] = 0; //第一遍遍历,hash表记录每个字符出现的次数 char *pHashKey = pInString; while (*pHashKey != '\0') { hashTable[*pHashKey]++; pHashKey++; } //指针重新指向字符串的第一个字符 pHashKey = pInString; //第二遍遍历,返回第一个次数为1的字符 while (*pHashKey!='\0') { if (hashTable[*pHashKey] == 1) return *pHashKey; pHashKey++; } //没有只出现一次的字符 //cout << ""<<endl; return 0; } int main(int argc, char* argv[]) { cout << "请输入测试字符串:" << endl; const int maxSize = 256; char str[maxSize]; cin >> str; cout << "第一个只出现一次的字符:"; cout << FirstNotRepeatingChar(str) << endl; system("pause"); return 0; }
2. 相关题目练习
①定义一个函数,输入两个字符串,从第一个字符串中删除在第二个字符串中出现的所有字符。如“we are happy”和“weppy”,输出“ are ha”
快慢指针的方法,初始化,快慢指针都指向第一个字符。循环过程:如果快指针指的是不需要删除的字符,将值赋给满指针所指的值后,快指针同时+1,;如果快指针指向待删除字符,则直接+1。当快指针指向\0,则终止。/* * 快慢指针从第一个字符串中删除第二个字符串内容 * */ #include <iostream> using namespace std; const int Tablesize = 256; void Delete(char * first, char* second) { char hashTable[Tablesize]; for (int i = 0; i<Tablesize; i++) { hashTable[i] = 0; } char* p = second; while (*p) { hashTable[*p] = 1; p++; } char* fast = first; char* slow = first; while (*fast) { if (hashTable[*fast] == 0) { *slow = *fast; slow++; } fast++; } *slow = '\0'; } void main() { char first[] = "I LOVE U"; char second[] = "IU"; Delete(first, second); cout << first << endl; system("pause"); }
-
最权威的C++教程_C++_Primer_Plus中文第五版+C++_Primer中文第四版(都含源码+习题)(共4分卷)分卷1
2010-06-23 17:33:55包含可以用来模拟has-a关系,其中一个类包含另一个类的对象。例如,汽车有马达。也可以使用 私有继承和保护继承来模拟这种关系。本章说明了各种方法之间的区别。同时,读者还将学习类模板,它 使程序员能够使用... -
最权威的C++教程_C++_Primer_Plus中文第五版+C++_Primer中文第四版(都含源码+习题)(共4分卷)分卷2
2010-06-23 17:47:19包含可以用来模拟has-a关系,其中一个类包含另一个类的对象。例如,汽车有马达。也可以使用 私有继承和保护继承来模拟这种关系。本章说明了各种方法之间的区别。同时,读者还将学习类模板,它 使程序员能够使用... -
最权威的C++教程_C++_Primer_Plus中文第五版+C++_Primer中文第四版(都含源码+习题)(共4分卷)分卷3
2010-06-23 18:03:39包含可以用来模拟has-a关系,其中一个类包含另一个类的对象。例如,汽车有马达。也可以使用 私有继承和保护继承来模拟这种关系。本章说明了各种方法之间的区别。同时,读者还将学习类模板,它 使程序员能够使用... -
C#.net_经典编程例子400个
2013-05-17 09:25:30206 4.8 图像识别 207 实例143 查看图片的像素 207 实例144 获取指定点的RGB值 207 4.9 图像工具 208 实例145 获取图片类型 208 实例146 简单画图程序 209 实例147 看图工具 213... -
计算机二级公共基础知识
2011-04-30 14:00:09② 退栈运算:取出栈顶元素并赋给一个指定的变量; ③ 读栈顶元素:将栈顶元素赋给一个指定的变量。 1.4 队列 1. 队列的基本概念 队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端... -
ASP.NET开发实战1200例(第2卷).(清华出版.房大伟.吕双).part1
2016-06-12 09:54:23实例244 使用内联接选择一个表与另一个表中行相关所有行 7.16 外联接查询 实例245 Left Outer Join查询——左外联接查询 478 实例246 Right Outer Join查询——右外联接查询 479 实例247 使用外联接进行多表... -
P2P视频播放器 详细制作实例
2009-12-21 17:28:09请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户. 3) 每个服务器为客户服务时, 通常是长期的, 会... -
2.5.2 某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有 26台计算机,每个子公司在一个网段中,则子网掩码应设为? 2.5.3 与10.110.12.29mask 255.255.255.224属于同一网段的主机IP地址是? ...
-
C++大学教程,一本适合初学者的入门教材(part2)
2009-09-20 15:15:424.7 实例研究:用数组计算平均值、中数和模 4.8 查找数组:线性查找与折半查找 4.9 多下标数组 4.10 有关对象的思考:确定类的行为 小结 术语 自测练习 自测练习答案 练习 递归练习 第5章 指针与字符串 5.1 ... -
【716-Week 02】由一般化到特殊化演变的树
2020-11-25 07:54:19我们知道在一个排好序的数组中进行二分查找的时间复杂度是 O(logn), 是非常高效的(40亿量级的数据,只需要32次左右的查找);所以将二分查找的思想应用在二叉树中,就是一颗二叉查找... -
数据结构课程设计
2014-06-03 13:26:05鞍点问题: 若矩阵A中的某一元素A[i,j]是第i行中的最小值,而又是第j列中的最大值,则称A[i,j]是矩阵A中的一个鞍点。写出一个可以确定鞍点位置的程序。 稀疏矩阵转置: 输入稀疏矩阵中每个元素的行号、列号、值,... -
C#开发实战1200例(第2卷.完整版)(清华出版.王小科.王军).part2
2016-06-17 07:56:52实例225 使用内连接选择一个表与另一个表中 行相关的所有行 6.18 外连接查询 实例226 left outer join查询 实例227 right outer join查询 实例228 使用外连接进行多表联合查询 6.19 利用in进行查询 实例229 用in查询... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part1
2016-06-16 20:55:43实例245 在ListBox控件中查找指定项 实例246 将数据库数据添加到组合框中 实例247 在ListBox控件间交换数据 实例248 借助绑定控件实现数据选择录入 11.6 ListView控件应用 实例249 ListView控件间的数据移动 ... -
C++标准程序库STL.pdf
2013-02-26 11:05:11是所有STL头文件中最大的一个(尽管它很好理解),它是由一大堆模版函数组成的,可以认为每个函数在很大程度上都是独立的,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、移除、反转、排序、... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part2
2016-06-16 20:59:52实例245 在ListBox控件中查找指定项 实例246 将数据库数据添加到组合框中 实例247 在ListBox控件间交换数据 实例248 借助绑定控件实现数据选择录入 11.6 ListView控件应用 实例249 ListView控件间的数据移动 ... -
C#开发实战1200例(第1卷).(清华出版.王小科.王军.扫描版).part3
2016-06-16 21:02:21实例245 在ListBox控件中查找指定项 实例246 将数据库数据添加到组合框中 实例247 在ListBox控件间交换数据 实例248 借助绑定控件实现数据选择录入 11.6 ListView控件应用 实例249 ListView控件间的数据移动 ... -
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
2018-02-20 01:26:55实例095 在数组中添加一个元素 112 实例096 在数组中添加一个数组 113 实例097 不改变长度删除数组中的元素 115 实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117 实例099 使用选择排序法对一维数组... -
C语言编程要点
2017-09-18 00:10:373.8. 1怎样查找链表中的数据? 53 第4章 数据文件 59 4.1. 当errno为一个非零值时,是否有错误发生? 59 4.2. 什么是流(stream)? 59 4.3. 怎样重定向一个标准流? 60 4.4. 怎样恢复一个重定向了的标准流? 60 4.5. ... -
数据结构(C++)有关练习题
2008-01-02 11:27:18<br>实验四 综合(课程设计) 内容及步骤: 1、假定一维数组a[n]中的每个元素值均在[0,200]区间内,用C++编写一个算法,分别统计出落在[0,20],[21,50],[51,80],[81,130],[131,200]等各区间内的元素... -
同学的打包代码
2012-06-22 13:48:26能够完成对使用适当的查询语言从一个或多个表中查找相关信息。 4、 矩阵类设计 定义Matrix类,参照实现: (1) 任意行数,列数矩阵的构建 (2) 常数矩阵 (3) 转置矩阵 (4) 矩阵加法,减法,乘法 (5) 矩阵... -
c/c++ 学习总结 初学者必备
2009-09-16 08:50:10答: (1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 (2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局... -
EasyAndroid 包含各种工具类的集合,会不定期更新,欢迎贡献code 使用方法: 2.0.0以后,放弃了support库,请使用AndroidX ...resource2Bitmap : 根据资源ID获取一个指定大小的bitmap getBitmapFromFile ...
-
java常用工具类的使用
2012-03-19 20:11:37在Java程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模式... -
超级有影响力霸气的Java面试题大全文档
2012-07-18 09:47:04在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...
收藏数
65
精华内容
26
-
【链表】:输入一个链表,输出该链表中倒数第k个结点。
-
2021/03/03学习总结
-
2014年重庆理工大学《软件质量保证与测试》两套期末考试试卷.pdf
-
王力安防首次公开发行股票招股说明书.pdf
-
SpringBoot 2.3.x整合Swagger3.x接口文档+Knife4jUI
-
uppaal-4.1.24.zip
-
MySQL 索引
-
MySQL 四类管理日志(详解及高阶配置)
-
JavaScript数据结构——数组
-
access应用的3个开发实例
-
2021-03-03
-
2021年软考系统规划与管理师-上午历年真题解析视频课程
-
2014年重庆理工大学《数据结构》两套期末考试试卷.pdf
-
C语言零基础入门(详细讲解)
-
Oracle_11g_Linux到Linux_DataGuard部署
-
Linux基础命令
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
微软Exchange多个高危漏洞通告
-
2014年重庆理工大学《局域网技术与组网工程》期末考试试卷.pdf
-
使用vue搭建微信H5公众号项目