典型习题
文章平均质量分 79
chenkaixin_1024
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
打印100~200间的素数
一般思路:遍历100~200间每个数,并对每个数判断2~其本身-1之中,是否存在能够该数整除的因子,若有,则这个数不是素数,否则这个数是素数。代码如下: #include int main(){ int i=100; for(i=100;i<=200;i++) { int j; for(j=2;j<i;j++) { if(i%j==0原创 2016-10-08 21:23:00 · 420 阅读 · 0 评论 -
递归实现全排列
问题:对一个数组,从第n个数开始对其后面的数进行全排列;思路:我们以1,2,3,4,5,这组数为例,令n=2,也就是对3,4,5进行全排列,而对于这三个数进行全排列,我们可以利用swap这个方法,首先考虑用第一个数3与后面的两个数分别进行交换,得到4,3,5和5,4,3;然后可以对1,2,3的后两位进行交换,得到1,3,2;对于4,3,5和5,4,3也同样交换后两位数,这样就得到了4,5,3,原创 2017-04-25 21:38:51 · 1084 阅读 · 0 评论 -
二叉树的几道典型例题
1.求二叉树的高度int _GetTreeHight(Node* pRoot) { if(pRoot==NULL) return 0; if(pRoot->_pLeft==NULL&&pRoot->_pRight==NULL) return 1; int left=_GetTreeHight(pRoot->_pLeft)+1; int right=_GetTr原创 2017-05-02 21:35:33 · 3201 阅读 · 0 评论 -
几道典型的递归算法例题
1.求前N个自然数之和int Sum(int n){ if(n==1) return 1; return n+Sum(n-1);}2.求N的阶乘int Factorial(int n){ if(n==1) return 1; return n*Factorial(n-1);}3.逆序打印单链表struct Node{ Node* _next; int原创 2017-04-16 22:39:10 · 2980 阅读 · 0 评论 -
浅谈二分查找
对于二分查找,大多数人都是模模糊糊对它有个印象,但具体写起代码来,又是各种问题。首先,来看二分查找这个算法的基本方法:1.在一个有序的连续数组当中(可以是升序,也可以是降序,本文均以升序为例)查找一个数,将这个数组的中间元素和给定数比较,若刚好相等则就找到了这个数,若大于给定数,则向这个数组的较低序列查找,反之则向这个数组的较高序列查找。2.再拿着这个数组的较低或较高序列进行上一步的查原创 2017-04-14 22:50:54 · 319 阅读 · 0 评论 -
以模板模拟实现Vector容器
#pragma once#include using namespace std;#define RESIZE 5templateclass Vector{public: typedef T ValueType; typedef ValueType* Pointer; typedef const ValueType* ConstPointer; typedef Val原创 2017-03-14 22:25:22 · 366 阅读 · 0 评论 -
以模板模拟实现List容器
#pragma once#include using namespace std;templatestruct ListNode{ ListNode(const T& x = T()) : _prev(0) , _next(0) , _value(x) {} ListNode* _prev; ListNode* _next; T _value;};te原创 2017-03-17 21:54:53 · 285 阅读 · 0 评论 -
双向链表C++版本
typedef int DataType;struct Node{ Node(const DataType& data) : _data(data) , _pNext(NULL) , _pPre(NULL) {} DataType _data; Node* _pNext; Node* _pPre;};class List{public: List()原创 2017-03-01 21:04:21 · 231 阅读 · 0 评论 -
动态顺序表的C++版本
#define RECAPACITY 5typedef int DataType;class Vector{public: explicit Vector(size_t capacity = 3) :_pData(new DataType[capacity]), _capacity(capacity), _size(0) { size_t index=0; for原创 2017-02-27 21:45:34 · 256 阅读 · 0 评论 -
关于二进制序列的两道典型例题(位运算符)
1.求一个数的二进制序列中1的个数2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。原创 2016-10-11 17:17:45 · 2576 阅读 · 1 评论 -
两个数的交换
给定两个整形变量的值,将两个值的内容进行交换。原创 2016-10-09 17:17:40 · 327 阅读 · 0 评论 -
最长回文字符串问题
回文字符串是笔试中常考的题,下面给出回文字符串的一个经典题型:求出一个字符串当中的最长回文字符串长度1.最基本的解法对于这个问题,我们考虑到回文字符串的性质,即回文字符串正读,反读相同,左右对称,这样一来,最基本的方法就是得到所求字符串的所有子串,并判断它们是否是左右对称,方法如下:bool isAym(char *cbegin, char *cend){原创 2017-07-28 19:02:28 · 363 阅读 · 0 评论
分享