- 博客(14)
- 收藏
- 关注
原创 n个人围成一圈报数出列
题目:n个人围成一圈,并依次编号为1,2,3,……,n,并以m数顺序报数,报到m时,该人出列,然后从出列的下一位开始重新报数,以此类推,编写代码依次输出出列人编号的顺序以及最后留在圈内的人的编号。思路:可以使用结构体来为每个人编号和确认下一位的编号,采用循环依次数数,每次数数判断下一位是否已经出列,是则选择跳过。数到m时,输出当前人的编号,同时将该人编号清零,作为已经出列的标志。最后输
2016-10-16 15:17:24
3228
1
原创 进制的转换
题目:输入一个任意进制的数,将这个数用其他进制表示出来。思路:任意进制的转换种类有很多种,分类转换是不明智的选择。可以先将数统一转换成十进制,然后使用itoa函数讲十进制数转换成其他进制的数。代码:输出结果:
2016-10-14 19:20:51
280
原创 最大连续子序列之和
题目:给出一个数组,该数组有多个不同长度的连续子序列,编写代码计算出最大连续子序列之和,并表示出该最大连续子序列。例如:有数组:2 6 -8 4 10 6 -3 -2 4 1,则最大连续子序列之和为20,最大连续子序列为2 6 -8 4 10 6。代码: 输出结果:
2016-10-12 19:27:50
391
原创 括号匹配算法
题目:有一段字符串,包含"("和")"、"["和"]"、"{"和"}"中的一种或者多种,这三种括号出现次序不定,可随意嵌套。编写 代码判断三种括号是否正确匹配。思路一(栈的思想):括号匹配是运用栈的经典思想。在算法中设置一个空栈,每次读入一个括号,若是左括号,则压入栈中,等到对应的右括号压栈,若是右括号,能使置于栈顶的最急迫的期待得以消解,此时将栈顶的左括号弹出,
2016-10-12 17:51:54
4203
原创 C++基础笔记之九:运算符的优先级
C++中运算符的优先级不同,决定着运算顺序不同,得到的相应结果也会有所不同。以下是C++中常用运算符的优先级列表:e.g. !a && b || x 运算顺序如下: (1) !a (2) (1) && b (3) x (4) (3) && c (5) (2) || (
2016-10-10 23:00:45
212
原创 C++基础笔记之八:二分查找
C++经典查找算法:二分查找基本思想:对排好序的数组,每次取这个数和数组中间的数进行比较。(递归方式)头文件与主函数代码如下: 二分查找代码如下: (非递归方式)头文件与主函数代码如下: 二分查找代码如下: 输出结果: 二分查找法时间复杂度为O(logn),比较次数少,查找速度快,但要求待查表为有
2016-09-27 15:33:32
301
原创 C++基础笔记之七:顺序查找
C++经典查找算法:顺序查找基本思想:从表中第一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,若直至最后一个记录,其关键字和给定值比较都不等,则表明表中没有所查记录,查找不成功。头文件与主函数如下: 顺序查找代码如下: 输出结果: 顺序查找时间复杂度:O(n)
2016-09-26 18:37:56
779
转载 C++三大特性:封装、继承、多态
1.面向对象面向对象的三大特性:封装、继承、多态。 类和对象:类由数据成员和成员函数构成,代表抽象派,玩的就是概念,某种意义上来说是一种行为艺术;而对象是具体的,比如说过年回家和老爹下中国象棋,发现棋盘上少了一对‘象’,那是你爸在告诉你该找“对象”了(单身狗表示选择Go Die)。 封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不
2016-09-25 21:44:45
562
原创 C++基础笔记之六:几种常用排序算法的比较
常用排序算法:1)选择排序2)冒泡排序3)插入排序4)快速排序(详细代码与基本思想见本博客相应文章)常用排序优点缺点时间复杂度稳定性选择排序编写简单,移动数据次数n-1次比较次数多O(n^2)不稳定冒泡排序思想易理解,编写简单执行速度慢,每次只能移动相邻两个数据O(n^2)稳
2016-09-25 15:11:02
453
原创 C++基础笔记之五:快速排序
C++经典算法:快速排序头文件与主函数如下: 快速排序子函数: 输出结果: 快速排序时间复杂度:O(nlogn),是一种不稳定的排序方法。声明:本人能力有限,算法可能不够精简,算法思路仅作参考。
2016-09-24 14:20:25
228
原创 C++基础笔记之四:插入排序
C++经典算法:插入排序头文件与主函数如下: 插入排序子函数: 输出结果: 插入排序时间复杂度:O(n^2),是一种稳定的排序方法。声明:本人能力有限,算法可能不够精简,算法思路仅作参考。
2016-09-24 13:56:22
362
原创 C++基础笔记之三:冒泡排序
C++经典算法:冒泡排序头文件与主函数如下: 冒泡排序子函数: 输出结果: 冒泡排序算法时间复杂度:O(n^2),是一种稳定的排序方法。声明:本人能力有限,算法可能不够精简,算法思路仅作参考。
2016-09-24 13:45:37
345
原创 C++基础笔记之二:选择排序
C++经典算法:选择排序头文件与主函数如下: 选择排序子函数: 选择排序算法时间复杂度:O(n^2),是一种不稳定的排序方法。声明:本人能力有限,算法可能不够精简,算法思路仅作参考。
2016-09-23 22:48:50
239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人