
c++学习
两点半还在学习
一个想学编程的菜鸟
展开
-
C++ 实现机房预约系统
【黑马程序员】C++ 实现机房预约系统。原创 2022-08-23 01:00:55 · 903 阅读 · 0 评论 -
C++实现演讲比赛流程管理系统
代码】C++实现演讲比赛流程管理系统。原创 2022-08-18 22:41:17 · 302 阅读 · 0 评论 -
《黑马程序员C++》进阶部分-C++提高编程部分-泛型编程-STL
本阶段主要针对C++泛型编程和STL技术做详细讲解,探讨C++更深层次的使用 模板就会通用的模具,大大提高复用性。例如生活中的一寸照片、PPT模板。模板的特点:函数模板语法函数模板作用:建立一个通用的函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: 解释:template——声明创建模板typename——表明其后面的 符号为一种数据类型,可以用class代替。T——通用的数据类型,名称可以替换,通常为大写字母。 总结:函数模板注意事项注意事项:函数模板案例案例描述:原创 2022-08-17 00:49:28 · 249 阅读 · 0 评论 -
【C++】C++实现职工管理系统
2.增加职工信息实现批量添加职工功能,将功能信息录入到文件中,职工信息为职工编号、姓名、部门编号。8.清空所有文档清空文件中记录的所有职工信息(清空前需要确认,防止误删)6.查找职工信息按照职工的编号或者职工的姓名进行查找相关的人员信息。7.按照编号排序按照职工的编号,进行排序,排序规则由用户指定。职工管理系统可以用来管理公司内所有员工的信息。3.显示职工信息显示公司内部所有职工的信息。5.修改职工信息按照编号修改职工个人信息。4.删除离职职工按照编号删除指定的职工。...原创 2022-07-28 23:28:24 · 2392 阅读 · 0 评论 -
《黑马程序员C++》核心编程部分
用户提供了有参,编译器不会提供无参,但会提供拷贝;用户提供了拷贝,编译器什么构造函数都不会提供。深拷贝与浅拷贝深浅拷贝是面试的一个经典的问题,也是常见的一个坑。原创 2022-07-25 22:30:58 · 1368 阅读 · 0 评论 -
《黑马程序员C++》基础部分
所谓数组就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型。特点2:数组是由连续的内存位置组成的。作用:将一段经常使用的代码封装起来,减少重复代码。一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。函数的几个要素返回值类型,函数名 ,参数,函数体语句,return表达式返回值类型 函数名(参数列表)函数语句;return 表达式;语法struct 结构体名称{ 结构体成员列表};通过结构体创建变量的方式有三种struct 结构体名 变量名。原创 2022-05-24 22:01:34 · 429 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day18 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"提示:1 <= s.length <= 1000s 仅由数字和英文字母组成中心扩展算法:我们观察到回文中心的两侧互为镜像。因此,回文可以从它的中心展开,并且只有 2n - 1 个这样的中心。你可能会问,为什么会是 2n - 1 个,而不是 n...原创 2022-04-19 19:48:22 · 994 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day17 寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / ...原创 2022-04-11 21:22:10 · 596 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day16 Pow(x, n)
实现pow(x, n),即计算 x 的 n 次幂函数(即,xn )。示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25提示:-100.0 < x < 100.0-2^31 <= n <= 2^31-1-10^4 <= ..原创 2022-04-10 11:34:45 · 766 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day15 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶提示:1 <= n <= 45C语言解题思路:1-------> 1 ...原创 2022-04-08 19:12:35 · 1672 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day14 最后一个单词的长度
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。示例 1:输入:s = "Hello World"输出:5解释:最后一个单词是“World”,长度为5。示例 2:输入:s = " fly me to the moon "输出:4解释:最后一个单词是“moon”,长度为4。示例 3:输入:s = "luffy is still joyboy"输出:6解释:最后一...原创 2022-04-07 19:52:59 · 476 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day13 二进制求和
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"提示:每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.length <= 10^4字符串如果不是 "0" ,就都不含前导零。C语言解题思路:C++语言解题思路:.原创 2022-04-06 20:29:06 · 470 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day12 x 的平方根
给你一个非负整数 x ,计算并返回x的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。提示:0 <= x <= 231 - 1。C语言解题思路:C++语言解题思路:..原创 2022-03-23 21:12:48 · 947 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day11 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]提示:1 <= di..原创 2022-03-22 19:57:11 · 844 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day10 删除有序数组中的重复项
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序应该保持一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么nums的前 k 个元素应该保存最终结果。将最终结果插入nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。判题标准:系统会用下面...原创 2022-03-20 11:54:18 · 127 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day9 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例 3:输入: nums = [1,3,5,6], target = 7输出: 4示例 4:输入: nums = [1,3,5,6], tar.原创 2022-03-19 23:13:08 · 783 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day8 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]提示:两个链表的节点数目范围是 [0, 50]-100 <= Node.val <= 100l1 和 l2 均按 非递减顺序排列。C语言原创 2022-03-19 00:04:29 · 953 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day7 有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true提示:1 <= s.le...原创 2022-03-18 12:57:51 · 418 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day6 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:1 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成C语言解题思路:原创 2022-03-12 21:16:42 · 873 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day5 罗马数字转整数
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写做XII,即为X+II。 27 写做XXVII, 即为XX+V+II。通...原创 2022-03-10 20:45:13 · 665 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day4 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例2:输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10...原创 2022-03-07 21:31:20 · 510 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day3 无重复字符的最长子串
C解题参考:C++解题参考:原创 2022-03-05 23:38:36 · 420 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day2 两数相加
两数相加:C解题参考:解题思路:(一)首先观察实例1,会发现本题的目的就是链表第一位加第一位,若产生进位,则累加到下一位,以此类推,那么脑子里就应该得出每一位的结果=a+b+进位;(二)下一步顺理成章想到得出这个每一步结果后应该有两个动作:①将结果的个位放到最终要返回的链表里;②得出的这位结果可能产生进位,应放到下一位里;(三)到此整个思路就是完整的,那么还有一些细节需要注意(这往往需要在特殊用例中发现,例如实例3)当链表不一样长时,应该在短的链表后面补零,再进行相加(见代码注释);原创 2022-03-03 21:41:05 · 613 阅读 · 0 评论 -
LeetCode C/C++学习刷题Day1 两数之和
两数之和:答案:原创 2022-03-02 23:20:02 · 6803 阅读 · 0 评论