自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 题目11:旋转数组的最小数字

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。    代码如下:#include<stdio.h>#include<string.h> int midOrder(int num[],int ...

2018-03-29 15:30:28 111

原创 题目10:斐波那契数列

    题目一:求斐波那契数列的第n项。    写一个函数,输入n,求斐波那契(FIbonacci)数列的第n项。斐波那契数列定义如下:递归与on代码如下:#include<stdio.h> int fibonacci(int n){ if(n==0){ return 0; } if(n==1){ return 1; } return fibonacci(n-1)...

2018-03-24 22:48:51 904

转载 VM虚拟机中Linux扩展磁盘空间的方法

一、Vm虚拟机下Linux扩展原有磁盘空间,详细步骤如下:需注意以下几点: linux只能扩展磁盘容量而不能减小, 所填写的容量为总容量,即包含已分区的磁盘, 扩展容量时不能有快照哟,大家可以先把快照删除掉。2.启动Linux,查看系统分区,并创建分区sda3,命令如下:红色字体命令,#后为注释:[root@localhost~]#fdisk -lDisk /dev/sda:32.2GB,3221...

2018-03-21 22:11:05 2742

原创 题目9: 用两个栈实现队列

    题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入节点和咋队列头部删除节点的功能。Queue.h#include <stack>#include <exception>using namespace std;template <typename T> class CQ...

2018-03-20 22:32:29 101

原创 题目8:二叉树的下一个节点

    题目:给定一棵二叉树和其中的一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左、右节点的指针,还有一个指向父亲节点的指针。    三种情况,1、该节点有右子树,下一个节点就是右子树的最左字节点。2、该节点没有右子树,且是父亲节点的左孩子节点,则该下一节点是其父亲节点。3、该节点没有右子树,且该节点还是父亲节点的右孩子节点,则该下一节点是沿着指向父亲节点一直向上遍历,...

2018-03-17 22:30:02 166

原创 题目7:重建二叉树

    题目:输入二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建如下图构建的二叉树并输出的它的头结点。代码如下:#include<stdio.h>#include<stdlib.h>typedef s...

2018-03-16 17:05:45 168

原创 例题4-3救济金发放

n个人站成一圈,逆时针编号为1到n,有两个官员,A从1开始逆时针发放,B从n开始顺时针发放。在每一轮中,官员A数k个就停下来,官员B数m个就停下来了(有可能两个官员停在同一个人身上)。接下来被官员选中的人离开队伍。本来逆时针顺时针应该写两个go函数,但是发现可以合并通过取余运算和添加1和-1。这个问题最关键的问题就是确定移动的步长,并且在数组中循环,当遇到被换成0的元素就继续下一个。p=(p+d+...

2018-03-14 23:08:57 321

原创 递归实现factorial

#include<stdio.h>long long factorial(long n){ //printf("%d\n",n); return n == 0?1:factorial(n-1)*n;}int main(){ printf("%lld\n",factorial(10)); return 0;}

2018-03-14 22:19:03 357

转载 Java并发编程中Semaphore的用法

Semaphore又称信号量,是操作系统中的一个概念,在Java并发编程中,信号量控制的是线程并发的数量。public Semaphore(int permits)其中参数permits就是允许同时运行的线程数目;下面先看一个信号量实现单线程的例子,也就是permits=1:package concurrent.semaphore;import java.util.concurrent.Sem...

2018-03-13 21:43:24 139

原创 java实现单链表基本操作

    用java语言实现单链表的基本操作。。。。public class Mylink { private int length; private Node head; private Node rear; private Node p; private class Node{ private Object data; private Node next; p...

2018-03-13 21:11:14 815

转载 JAVA 对象引用,以及对象赋值

Java对象及其引用 关于对象与引用之间的一些基本概念。        初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一谈。可是,如果我分不清对象与对象引用,        那实在没法很好地理解下面的面向对象技术。把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路。        为便于说明,我们先定义一个简单的类:  ...

2018-03-12 21:25:42 166

转载 c语言中的新建节点为甚么需要malloc或new?

    今天早上我突然问自已一个问题,为什么链表中的节点不能像基本类型那样为其赋值,这关系到栈内存和堆内存。下面是我在网上看到的答案,感觉比较不错。    计算机中的内存分为两部分:一部分是栈(stack,也称堆栈),另一部分是堆(heap)。 栈,可以看作是一摞卡片,最上面的卡片表示程序的当前作用域,这往往就是当前正在执行的函数。当前函数中声明的所有变量都置于栈顶帧中,即占用栈顶帧的内...

2018-03-10 10:08:42 3545

转载 二级指针

首先理解几个概念:1.对于一个普通变量,进行引用操作,得到的是一级指针。如int a=0;int *p=&a,则&a就是一级指针。因为&a的值就是a的地址,p的值也是a的地址,则&a和p就是一级指针变量(简略为指针),对&a进行解引用操作,int b=*&a;这b等于0.2.对于普通变量作为形参传递到函数内部,参数的值传递就意味着只是简单的将变量的值...

2018-03-09 23:21:45 252 4

原创 c语言实现链表

    最近复习到链表,感觉什么都忘了,指针、二级指针,于是今天下午,按照自己想法就手写了一个带头结点的链表,回忆回忆。里面用到了二级指针,实现了链表初的始化,头插法、尾插法创建链表,在链表的第i个位置插入x的元素,单链表的删除,在链表中删除值为x的元素,遍历链表。    贴码如下: #include<stdio.h>#include<stdlib.h>typedef...

2018-03-09 23:10:44 503

原创 题目6:从尾到头打印链表

    题目:输入一个链表的头节点,从尾部到头反过来打印出每个节点的值。链表节点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};        从头到尾打印每个节点的值,我们都知道只要从头到尾遍历一遍就可以。现在我们需要从尾到头打印每个节点的值,我们有两个思路,其一就是从头到遍历,同时将每个节点的值存到栈中。其二...

2018-03-07 22:58:54 140

原创 题目5:替换空格

    题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如,输入“We are happy.”则输出“We%20are%20happy.”    o(n)的时间复杂度内替换空格,过程如下图过程,(a),(b),(c),(d),(e)自己实现如下: void rep(char* p){ int k = 0; char *q = p; if(p!=NULL) { for(;...

2018-03-06 23:17:22 141

转载 二维数组和指针

二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行,我们就称之为行数组元素,显然每个行数组元素都是一个一维数组下面我们讨论指针和二维数组元素的...

2018-03-06 10:41:45 141 2

原创 题目4:二维数组中的查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。刚看到这道题时让我想起了蛇形添数,本题举例为二数组{{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}},在这个数组中查找7,算法思想是从右上角开始9大于7删除9所在列,此时最右上角...

2018-03-05 23:16:53 134

原创 题目3:数组中重复的数字

    一 找出数组中重复的数字。    在一个长度为n的数组里所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或3。代码如下:void duplicate(int a[],int m){ if(a!=NULL&a...

2018-03-04 22:46:58 151

原创 题目2:实现Singleton模式

    只能生成一个实例的类是实现了Singleton(单例)模式的类型。由于设计模式在面向对象程序设计中起着剧组轻重的作用,在面试过程中很多公司都喜欢问一些与设计模式相关的问题。在常用模式中, Singleton是唯一一个能够用短短几十行代码完整实现的模式。因此,写一个Singleton的类型是一个很常见的面试题。1 一个简单的单例模式:构造函数声明为private或protect防止被外部函数...

2018-03-03 22:22:46 212

原创 题目1:如下为类 CMyString 的声明,请为该类型添加赋值运算符函数。

class CMyString{    public:    CMyString(char* pData = NULL);    CMyString(const CMyString& str);    ~CMyString(void);    CMyString& operator = (const CMyString& str);     private:    char...

2018-03-01 10:29:34 332

转载 C++之类对象的返回与引用

一、类对象的返回 在拷贝构造器中提到过:class A{};A func(A a){ return a;}int main(){ A x; func(x);}调用func(a)中参数的传递本质是调用拷贝构造器的发生,将实参x拷贝给形参a中。A func(A &a){ return a;}int main(){ A x; fun...

2018-03-01 09:42:18 1842

HugeChm.rar

chm,电子书制作软件,多个关键字请用空格分隔,最多填写5个。点击右侧Tag快速添加

2016-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除