现在位置: 首页 > xjbymhd发表的所有文章
  • 11月
  • 10日
编程语言 ⁄ 共 6673字 评论关闭
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。     关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家一个清晰的剖析。  ......
阅读全文
  • 07月
  • 17日
综合 ⁄ 共 5413字 评论关闭
一、问题   有很多无序的数,假定它们各不相等,从中找出最大的K个数。 问题分析:   输入:N个数;K。   输出:N个数中最大的K个数,这K个数并不需要是有序的,只需为数组中最大的K个数即可。   约束:N个数各不相等。 二、解法   解法一 采用排序算法类 A.数组全排序: 可以对数组进行快速排序或堆排序(O(n*lgn)),然后获得最大的K个数(O(k))。 时间复杂度:O(n*lgn) + O(k)=O(n*lgn)(k < n)。 缺点:算法不仅对最大K个数排序,也对其他的N-K个数排序,后面的方法可以避免。 B.数组K个数排序: 可以进一步优化:由于我们只需......
阅读全文
  • 04月
  • 18日
算法 ⁄ 共 2704字 评论关闭
  问题说白了就是:看给定的点在哪两个线段之间。根据题目的描述,给定的点要么在线段左边,要么右边,所以需做一个叉积,来判定点与两条线段的位置关系(具体如下面的FindBelongBinIndex()函数描述)。   因为线段是排好序的了,所以可以二分查找。   #include <iostream> #include <algorithm> using namespace std; struct Point2D { Point2D() { x=0.0f; y=0.0f; } Point2D(double tx,double ty) { x=tx; y=ty; } double x,y; }; //Return the crossproduct of vec1*vec2 ......
阅读全文
  • 03月
  • 20日
综合 ⁄ 共 643字 评论关闭
1. 当sim卡状态发生变化时,modem侧发送QCRIL_EVT_UIM_QMI_INDICATION事件到AP侧。   2. AP侧QCRIL的UIM模块(qcril_uim.c等文件)用来处理sim卡相关业务。当收到QCRIL_EVT_UIM_QMI_INDICATION事件时,调用对应的事件处理函数qcril_uim_process_qmi_indication(),检查如果上报的是指示为sim卡状态改变,则再调用qcril_uim_process_status_change_ind()函数,该函数检查sim卡状态是否发生改变,如果是,则保存新状态到qcril_uim.card_status变量中,然后向框架层发送主动上报RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED。   3. 框架层U......
阅读全文
  • 03月
  • 10日
综合 ⁄ 共 594字 评论关闭
题目: Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 解题: 维持一个小顶堆,每次弹出最小的元素,弹出之后把该元素在原数组中的下一个元素压栈(如果不为空)。 代码: class Solution { public: ListNode *mergeKLists(vector<ListNode *> &lists) { priority_queue<Node> q; ListNode *head = new ListNode(-1); ListNode *pre = head; for(int i = 0; i < lists.size(); i ++) { if(lists[i......
阅读全文
  • 10月
  • 16日
综合 ⁄ 共 465字 评论关闭
auto_ptr智能指针不许用户显示调用delete,可以直接自动被指向NULL,智能指针给另一个智能指针赋值的时候,该被赋值的智能指针就指向赋值的智能指针指向的地方,而原来的智能指针则指向NULL。auto_ptr 的使用: auto_ptr<int>  a ;定义了一个int 的智能指针 int *p; auto_ptr<int>  a(p); 定义了一个int 的智能指针,指向P所指向的地址 explicit 防止了隐式类型的转换。如下代码所示 : #include<iostream> using namespace std; class A { public: A() { a=1; } A(int b) { a=b; } void print() { cout<......
阅读全文
  • 08月
  • 30日
综合 ⁄ 共 3344字 评论关闭
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。   NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。   NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (R......
阅读全文
  • 06月
  • 07日
综合 ⁄ 共 91608字 评论关闭
A set of ADO classes - version 2.20 - CodeProject   为了方便大家下载源代码 ,我的资源中也放了一份拷贝。 英语挺烂的,硬着头皮算是翻译下来了,第一次做网页排版,有什么错误请大家回帖指出来,我好方便修改。 概述 CADODatabase类 CADODatabase Open Execute GetRecordsAffected GetActiveConnection GetRecordCount BeginTransaction CommitTransaction RollbackTransaction IsOpen Close SetConnectionString GetConnectionString SetConnectionMode GetLastError GetLastErrorString CADORecordset类 CADOReco......
阅读全文
  • 05月
  • 27日
综合 ⁄ 共 952字 评论关闭
java IO访问文件和文件夹 File只能访问文件和文件夹,不能访问文件内容,所以后面会用到流 /** * java 文件的创建 删除 文件操作 * * */ public class File1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub File file=new File("f:\\aa.text"); System.out.println("文件名:"+file.getName()+""); System.out.println("文件路径:"+file.getPath()); System.out.println("文件字节"+file.length()); System.out.println("文件可读"+file.canRead......
阅读全文
  • 05月
  • 23日
综合 ⁄ 共 26726字 评论关闭
日期和时间的处理不仅在面试题中会考到,在实际项目开发中也是我们经常需要处理的问题,似乎没有哪个项目可以避开它们,我们常常在处理用户的出生年月日、注册日期,订单的创建时间等属性时用到,由此可见其重要性。 java.util.Date类 提到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到毫秒数,这个毫秒数是相对于格林威治标准时间“1970-01-01 00:00:00.000 GMT”的差值。那么,什么是格林威治标准时间呢?要回答这个问题,我们需要先来了解一下世界时间标准方面的知识。 世界时间标准主要有UTC,即Coor......
阅读全文
  • 05月
  • 17日
综合 ⁄ 共 5264字 评论关闭
转载自:http://blog.sina.com.cn/s/blog_4c5eea440100kuji.html 在距离小水塘20多米远的一片杂草丛中,一只蟋蟀突然停止了鸣叫,发了狂似地沿着与水塘岸边平行的方向向前跳跃,速度越来越快。后面并没有天敌在追赶,它根本没有理由惊慌。路边有它平时很喜欢吃的食物,但现在饥肠辘辘的它却对此无动于衷。在这秋初的早晨,草丛上有许多露水,口渴的它也没有停下来找水喝。在旅途上,它听到了同类发出的欢快的鸣叫,它知道,那是它的哥们儿正为讨异性的欢心而引吭高歌呢,但现在它已完全无心加盟这个行列,它只是一个劲儿地往前跳......
阅读全文
  • 04月
  • 28日
综合 ⁄ 共 1500字 评论关闭
    用ObjectOutputStream往文件中写对象分为两种情况:        追加和替换(二者不能相同对待)    1>替换      String strFile="./temp"; try { Object obj=null; ObjectOutputStream oos= new ObjectOutputStream(neFileOutputStream(strFile)); oos.writeObject(obj); } catch (IOException e) { e.printStackTrace(); }    2>追加         String strFile="./temp";    try {        Object obj=null;        ObjectOutputStream oos=               new ObjectOutputStream(new FileOutputStream(strFi......
阅读全文