关闭
当前搜索:

用O(1)时间,删除一个链表节点(3)

有这样一个问题,给定一个单向链表的头结点pHead和要删除的节点pDeleted,但是要求在O(1)时间完成。 可能先想到的就是从头结点往前遍历,找到要删除的节点pDeleted,这样就知道了它的前后节点,但是这样的时间是O(n)。 这里的思路是: 把pDeleted的下一个节点pNode1的值赋给pDeleted,同时让pDeleted指向pNode2,然后把pNode1删掉,pDelet...
阅读(113) 评论(0)

callable,Executor,Future

转:http://blog.csdn.net/zhangzhaokun/article/details/6615454   在再度温习Java5的并发编程的知识点时发现,首要的就是把Runnable、Callable、Executor、Future等的关系搞明白,遂有了下述小测试程序,通过这个例子上述三者的关系就一目了然了。 在java5以后,一个可以调度执行的线程单元可以有三种方式定义: ...
阅读(60) 评论(0)

Android内存优化

转:http://www.cnblogs.com/ldq2016/p/6635774.html   智能手机发展到今天已经有十几个年头,手机的软硬件都已经发生了翻天覆地的变化,特别是Android阵营,从一开始的一两百M到今天动辄4G,6G内存。然而大部分的开发者观看下自己的异常上报系统,还是会发现各种内存问题仍然层出不穷,各种OOM为crash率贡献不少。Android开发发展到今天也是已经...
阅读(177) 评论(0)

Callable Feature

转:http://blog.csdn.net/ghsau/article/details/7451464    接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。        Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功...
阅读(64) 评论(0)

图片加载库-Glide

在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。 毫无疑问,这个库引起了我的兴趣。于是我花了一个晚上研究和把玩它,将它的实现原理分析清楚以后,我决定写一篇博文分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的...
阅读(86) 评论(0)

图片加载库-Fresco

转载:http://blog.csdn.net/theone10211024/article/details/45646963   在Android设备上面,快速高效的显示图片是极为重要的。过去的几年里,我们在如何高效的存储图像这方面遇到了很多问题。图片太大,但是手机的内存却很小。每一个像素的R、G、B和alpha通道总共要占用4byte的空间。如果手机的屏幕是480*800,那么一张屏幕大小...
阅读(70) 评论(0)

Picasso 图片下载缓存库

转:http://blog.csdn.net/theone10211024/article/details/45604373   在Android应用中,图片消费了大量的资源,却为应用提供了很好的视觉体验。幸运的是,Picasso为你的应用提供了非常容易的图片加载方式——通常一行代码就可以搞定! [html] view plain copy print? P...
阅读(89) 评论(0)

EventBus的使用

相关文章: 1、《EventBus使用详解(一)——初步使用EventBus》 2、《EventBus使用详解(二)——EventBus使用进阶》 一、概述 EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。...
阅读(79) 评论(0)

反方向打印链表。(2)

给出一个链表的头节点,从尾部逆序打印链表。 这里有2中实现思路,一种是用stack,先从头节点开始,依次把链表节点入栈,然后再依次弹出。 第二种思路是递归,实际递归的本质也是用栈来实现的。 #include #include #include "ListCommon.h" using namespace std; //用stack实现 void printListR...
阅读(58) 评论(0)

链表基本操作的函数实现。(1)

如下是一个模拟的链表的基本操作,主要有创建链表,连接链表,打印链表,删除链表等,后面有关链表的算法都依赖这个文件中函数实现。 ListCommon.h //链表的结构 struct ListNode{     int m_nValue;     ListNode* m_pNext; }; //通用的操作函数 ListNode* CreateListNode(int...
阅读(107) 评论(1)

用两个栈实现一个队列算法

栈:后进先出,队列:先进先出。 用两个栈实现一个队列,主要实现队列中的两个函数,appendTail,尾部追加,deleteHead,在头部删除节点, 用了一个模板类,队列的元素可以是任意类型,int,char都可以,其中类模板中构造函数,析构函数,appendTail,deleteHead的声明和实现都要写在.h中,把实现写在.cpp中,会提示这些方法没定义。模板定义挺特殊的。 Analo...
阅读(76) 评论(0)

一个字符替换的算法

给定一个字符串把其中的空格替换成 (%) 这3个字符。 #include using namespace std; void strRepace(char chArray[], int maxLen){     if(chArray == NULL)         return ; //计算空格数     int numsOfSpace =0;...
阅读(70) 评论(0)

使用位运算 的2个算法

1,不用临时变量,交换两个值: #include using namespace std; void swapValue(int num1,int num2){ //通过亦或运算符^,交换两个值,不适用临时变量, 第一步:num1 = num1^num2,num2=num2^num1,相当于num2 =num2^num1^num2;也等于num1^num2^num2,因为num2^...
阅读(70) 评论(0)

哈希表,找出第一个出现一次的字符

在一个字符串中,找出第一个出现一次的字符, 把每个字符做为hash表中的key,出现的次数做为对应的值。 #include using namespace std; char getFirstNotRepeatChar(const char *pStr){     if(pStr == NULL)         return '\0'; //一个char字符占8个...
阅读(66) 评论(0)

二分法 -算法

二分法查找,这个算法要求数据要是有序的。 比如有这样的问题:找出一个数组中,两个数的和小于等于15,然后输出他们,否则就单独输出较大的数。 #include using namespace std; void binarySearch(int *array, int length){     if(array == NULL || length == 0)         ret...
阅读(134) 评论(0)
27条 共2页1 2 下一页 尾页
    个人资料
    • 访问:35831次
    • 积分:1724
    • 等级:
    • 排名:千里之外
    • 原创:133篇
    • 转载:38篇
    • 译文:0篇
    • 评论:9条
    最新评论