码迷,mamicode.com
首页 >  
搜索关键字:队列 c++ 链表    ( 36209个结果
判断单链表是否有环
判断单链表是否有环两个指针分别为p1和p2,每循环一次只向前走一步,p2向前走两步,知道p2碰到NULL指针或者两个指针相等则说明有环如果存在,start存放在圆环开始的节点bool IsLoop(node *head,node *start){node *p1=head,*p2=head;if(h...
分类:其他好文   时间:2014-05-10 00:22:22    阅读次数:272
c 下的通用数据库接口
在java/C#中都有类的反射,而C下是不存在的。 java/C#中可以把表设计成类,而C下只能设计成结构体形式。 在java中有hibernate来操作数据库,但是在C下面怎么设计好呢?对此,我有了一个通用的解决方法。...
分类:数据库   时间:2014-05-09 22:43:03    阅读次数:520
Linux/UNIX进程间的通信(1)
进程间的通信(1) 进程间的通信IPC(InterProcessCommunication )主要有以下不同形式: 半双工管道和FIFO;全双工管道和命名全双工管道;消息队列,信号量和共享存储;套接字和STREAMS 管道 pipe函数 当从一个进程连接到另一个进程时,我们使用术语管道。我们通常是把一个进程的输出通过管道连接到另一个进程的输入。 管道是由调用pipe函数创建的: #i...
分类:系统相关   时间:2014-05-09 22:33:56    阅读次数:566
leetcode第一刷_Partition List
partition是快排的准备工作,被用在其他很多问题上,比如找满足某个条件的数之类的。 在数组中,可以一头一尾的指针依次置换,这样是不能保证源数组中的相对顺序的。链表中就不一样了,没办法拿到尾部的指针,只能从头部往后找,找到第一不满足partition条件的节点,即较大的数,然后再往后找较小数,把较小数的节点移到前面来,因此跟数组的做法还有个区别,链表的partition只有一个指针在做实际的...
分类:其他好文   时间:2014-05-09 20:48:28    阅读次数:252
快速选择(quick_select) 算法分析
快速选择算法,就是从给定的一个集合S={a1,a2,...an}中选出第K个大小的数,或者给出其所在的下标之类的。 如果使用排序,比如merge_sort,然后返回第K个元素的下标,复杂度是O(NlogN) 如果使用heap_sort,或者优先队列,则复杂度是O(NlogK) 如果使用quick _sort的一个变种,叫 quick select,则平均复杂度为O(N),最坏复杂...
分类:其他好文   时间:2014-05-09 20:48:02    阅读次数:841
leetcode第一刷_Reverse Linked List II
翻转链表绝对是终点项目,应该掌握的,这道题要求的是翻转一个区间内的节点,做法其实很相似,只不过要注意判定开始是头的特殊情况,这样head要更新的,还有就是要把翻转之后的尾部下一个节点保存好,要么链表就断掉了。一趟就可以,遇到节点直接翻转,最后把整个翻转的链表再翻转一次,就实现了。 class Solution { public: ListNode *reverseBetween(List...
分类:其他好文   时间:2014-05-09 15:05:06    阅读次数:225
单链表的合并(递归、非递归)
例:已知两个单链表head1和head2各自有序升序排列,请把他们合并成一个连表并依然有序,并保留原来所有节点 假设以下两个链表: 链表1:1->3->5 链表2:2->4->6 (1)比较1和链表2的第一个节点数据,由于15)和链表2在调用本过程,比较得到结果链表的第二个节点,即2与3比较得到2,此时合并后的链表节点为1->2,这样 递归知道两个链表的节点都被加到结果链表中。...
分类:其他好文   时间:2014-05-09 15:04:40    阅读次数:374
android点滴之HandlerThread的用法
一.介绍            HandlerThread继承自Thread,当线程开启时,也就是它run方法运行起来后,线程同时创建了一个含有消息队列 的Looper,并对外提供自己这个Looper对象的get方法,这就是它和普通Thread唯一不同的地方。 二.好处 为什么要使用HandlerThread。1.开发中如果多次使用类似new Thread(){...}.start...
分类:移动开发   时间:2014-05-09 14:59:31    阅读次数:429
python基于mysql实现的简单队列以及跨进程锁
在我们做多进程应用开发的过程中,难免会遇到多个进程访问同一个资源(临界资源)的状况,必须通过加一个全局性的锁,来实现资源的同步访问(同一时间只能有一个进程访问资源)。...
分类:数据库   时间:2014-05-09 13:55:33    阅读次数:580
线程池;java实现线程池原理
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永...
分类:编程语言   时间:2014-05-09 13:51:25    阅读次数:536
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!