关闭

兔子繁衍问题

今天做了阿里编程测验,有一道兔子繁衍问题。 题目要求: 1. 猎人把一对兔子婴儿(一公一母称为一对)放到一个荒岛上,两年之后,它们生下一对小兔,之后开始每年都会生下一对小兔。生下的小兔又会以同样的方式继续繁殖。 2. 兔子的寿命都是x(x>=3)年,并且生命的最后一年不繁殖。 3. 如果岛上的兔子多于10对,那么猎人会每年在兔子们完成繁殖或者仙逝之后,从岛上带走两对最老的兔子。 请问y年(...
阅读(459) 评论(0)

编写一个通信录

题目要求: 编写一个关于通讯录的程序 1. 可输入姓名、电话(可多个)、通讯地址、Email等必要的信息; 2. 可根据姓名查询电话等信息(最好还能根据电话查询姓名),并显示在屏幕上; 3. 要求通讯录保存成文件,如张三.txt,用文件流的方式实现; 4. 最好用面向对象方法编写。开发环境: QT Creator 但是建立的是纯C++工程//person.h 人 类 #if...
阅读(70) 评论(0)

运用多线程知识写一个火车站售票系统

题目简介: 在现实世界中有一种数据模型,模拟生产者与消费者模型。如火车票售票系统,将票据的数量录入服务器我们称之为“生产”了若干车票。各地终端会共享这些车票信息去售票。直到车票售票完,则提示无票可卖。 本练习题,在同一台电脑上使用不同的进程(独立运行的应用程序)模拟火车票售票系统。将录入存放火车票的独立运行程序我们称之为服务端。一台电脑只能运行一个实例。其他负责售卖火车票的程序称为客户端。客户端...
阅读(115) 评论(0)

使用面向对象思想建立一个学生管理系统

题目要求: 学校招生办在录取当年新生时已经为每个新生建立一个新生的资料库,其中包含每位新生的基本资料:学号(long)、姓名(char [20])、性别(enum)、年龄(int )、住址(char[30])、主修专业(char[30])。 新生主修专业所属系又在学生基本资料的基础上为每位该系新生建立一个主修课程表,设有新生主修课程名称(char[60,30])和成绩(float[60])...
阅读(127) 评论(2)

常用设计模式之抽象工厂模式

抽象工厂模式: 抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。 应用场景: 当每个抽象产品都有多于一个的具体子类的时候,工厂角色怎么知道实例化哪一个子类呢?比如每个抽象产品角色都有两个具体产品。抽象工厂模式提供两个具体工厂角色,分别对应于这两个具体产品角色,每一个具体工厂角色只负责...
阅读(51) 评论(0)

常用设计模式之简单工厂模式

简单工厂模式: 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 应用场景: 简单工厂模式解决的问题是如何去实例化一个合适的对象。 简单工厂模式的核心思想就是:有...
阅读(52) 评论(0)

常用设计模式之单例模式

单例模式:用来创建独一无二的,只能够有一个实例的对象。 单例模式的应用场景:有一些对象其实只需要一个,比如:线程池,缓存,对话框,处理偏好设置和注册表的对象,日志对象,充当打印机,显卡等设备的驱动程序对象。这些对象只能够拥有一个实例,如果创建出了多个实例,就会导致一些程序的问题。程序的行为异常,资源使用的过量,或者导致不一致的结果。常用来管理共享的资源,比如数据库的连接或者线程池。Singleto...
阅读(113) 评论(0)

实现一个简单计算器,表达式为字符串表示

实现一个简单计算器,表达式为字符串表示 要求: 实现一个简单计算器,表达式是字符串,如“#(2*(1+3)+8)/4#”,以‘#’做标志位 如: 输入 #(2*(1+3)+8)/4#输出 4实现思路: 用栈实现。将输入的中缀表达式通过栈的方式改为后缀表达式计算。 如 (2*(1+3)+8)/4 可先将“(”压入栈1,“2”压入栈2,“*”继续压入栈1,“(”压入栈1,“1”压入栈2,“+”压...
阅读(435) 评论(0)

回调函数

C/C++之回调函数      今天讨论下C/C++中的回调函数。      在理解“回调函数”之前,首先讨论下函数指针的概念。 函数指针 (1)概念:指针是一个变量,是用来指向内存地址的。一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件都可以用指针来指向它。函数是存放在内存代码区域内的,它们同样有地址,因此同样可以用指针来存...
阅读(69) 评论(0)

各种排序算法总结

排序的稳定性和复杂度不稳定:选择排序(selection sort)— O(n2)快速排序(quicksort)— O(nlogn)平均时间, O(n2)最坏情况;对于大的、乱序串列一般认为是最快的已知排序堆排序 (heapsort)— O(nlogn)希尔排序 (shell sort)— O(nlogn)基数排序(radix sort)— O(n·k)需要O(n)额外存储空间 (K为特征个数)稳定...
阅读(84) 评论(0)

关于软件开发你真正需要知道的几个事情

关于软件开发你真正需要知道的几个事情我和很多人一样一开始学习的是工具系列:语法和数据结构,调试器和编辑器。但实际上如何使用这些工具来编写好的软件——那种可以工作的,能够解决问题的,很长一段时间不用维护的软件——却从来没有正式教给我们。学习这门手艺需要历经长时间的挫折和痛苦。下面我要讲述一些在尝试这门手艺之前你需要学习的东西。关于软件你需要记住的最重要的事情是没有魔法软件100%和魔法无关(虽然我们说...
阅读(117) 评论(0)

浅谈C++重载、重写和隐藏、覆盖

重写和重载的区别 重写是发生在两个类当中的,重载是在同一个类当中。 重写函数和被重写函数参数列表一定相同,而重载函数和被重载函数参数列表一定不同。(注意:仅返回值不同不能看作重载) 重写的基类中被重写的函数必须用virtual修饰,而重载函数和被重载函数可以用virtual修饰,也可以不用。 隐藏和重写、重载的区别 隐藏函数和被隐藏函数是发生在不同类当中的。 隐藏函数和被隐藏函数参数列表可以相同,也...
阅读(108) 评论(0)

人生就是一场猝不及防

我经历过两次高考。 第一年,高中三年什么都没学,自然而然失败了。 理科一本线485分,二本435,而我考了389,这个分数,上个好三本都费劲。这个分数出来时,家里只有我是淡定的,因为自己知道自己什么水平,高中三年轻松度过,能考上才是有鬼。 但我母亲并不知道。也许每个人的家长都是这样“望子成龙”。当她得知,我离二本线还有很大一段距离后,她崩溃了,连哭带骂的数落我,好像我是最不孝的不孝子,这个家基...
阅读(318) 评论(4)

人工智能学习体系

前言下面是自己总结一套人工智能机器学习整个知识体系,一起学习,有总结不到位的希望大家给出纠正!一 人工智能基础语法篇二 人工智能中级篇三 人工智能高级篇...
阅读(264) 评论(0)

浅谈面向对象的三大特性

面向对象的三大特性是:封装,继承,多态所谓封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。所谓继承是指可以让某个类型的对象获得另一个类型的对象的属性的过程,它提供了一种明确表述共性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有...
阅读(98) 评论(0)
18条 共2页1 2 下一页 尾页
    个人资料
    • 访问:2802次
    • 积分:184
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:4篇
    • 译文:0篇
    • 评论:6条
    文章分类
    文章存档
    最新评论