课程目标:学习Android中异步操作的三大方式重点难点:Handler与线程的关系 Handler消息队列的实现考核目标:使用Handler是异步的,它会建立新线程么? noHandler是在主线程内么?Handler的post 和 sentMessage方法,使用的是一个队列还是两个?子线程中建...
分类:
移动开发 时间:
2014-09-15 14:07:28
阅读次数:
281
二、队列 队列是一种先进先出的数据结构,元素只能添加到队尾,而对元素的删除,修改,检索只能在队头进行。与栈的差异是很明显的。同样队列的实现可以基于链表,也可以基于数组。和栈的基本操作差不多,但队列多了一个指针(标号)指向末尾的元素,因为需要在末尾插入元素。1.队列的链表实现#ifndef QUEU....
分类:
其他好文 时间:
2014-08-12 00:09:43
阅读次数:
231
RTOS里面最常见的以及最核心的数据结构,队列的实现。可在VS2008 下编译测试。
/** @file
Copyright (c) 2008 - 2014, MX.Studio
All rights reserved.
Created by Cstyle
**/
#ifndef _QUEUE_H_
#define _QUEUE_H_
#ifdef ...
分类:
其他好文 时间:
2014-07-30 20:44:14
阅读次数:
344
队列也是数据结构中比较重要的一种,和栈相反的是,队列是先进先出的,先进队列的可以先出队,跟平时我们排队是一样的。在允许多通道程序运行的计算机系统中,同时几个作业运行。凡是申请输出的作业都从队尾进入队列。
现在用链表实现队列,先定义一个链表结点:
typedef struct QNode
{
int data;
QNode *next;
}QNode,*QueuePtr;给队列定义一个头结点...
分类:
其他好文 时间:
2014-07-27 11:33:22
阅读次数:
212
#include
#include
typedef int DataType;
typedef struct qnode{//链式队列的结点
DataType data;//数据部分
struct qnode *next;//指向下一个结点
}LQNode;
typedef struct{
LQNode *front;//队头指针
LQNode *rear;//对尾指针
}...
分类:
其他好文 时间:
2014-07-22 00:32:35
阅读次数:
200
引言:
队列的实现除了链表外,也可用数组实现。
分析描述:
队列的结构:
typedef int ElementType;
typedef struct QueueRecord{
int Capacity;
int Front;
int Rear;
int Size;
ElementType *Array;
}QueueRecor...
分类:
其他好文 时间:
2014-07-12 17:50:16
阅读次数:
213
队列,很简单的一个东西,但往往就是有那么多的麻烦。 比如PHP发送邮件的时候,如果在用户注册,你是注册的时候发送邮件呢,还是注册成功之后发送呢,很显然,大多数时候都是在注册完成之后发送邮件,除非特殊情况,但是怎么让注册之后直接返回结果而不管是否发送了邮件呢。 这里就需要这样一个东西,单独处理一个.....
分类:
Web程序 时间:
2014-07-08 00:55:13
阅读次数:
198
上一篇中的队列的定义与实现(C语言实现) 中,无论是顺序队列还是链式队列,在尾加和删除头部的操作时,总有一个时间复杂度让人不满意。比如在顺序队列中,删除头部的操作后,总要将后面所有的结点都向前移动一位,这里消耗的较大的;又如在在链式队列中,尾加结点时,为了寻找到最后一位结点,要遍历整个队列,时间复杂度同样是O(n)。
为此,这里需要做出一些改变。...
分类:
编程语言 时间:
2014-06-22 20:11:58
阅读次数:
151
在上一篇优化后队列的实现(C语言实现) 中,虽然我们对队列的时间复杂度进行了优化,但是却让代码的可读性变差了,代码显得略微臃肿(当然,这些话你看看就好,主要是为了奉承这篇博文的)。
这里主要实现的是:利用栈来实现队列
基本思路:
1,创建两个栈
2,两个栈合并起来组装成一个队列,分别取名为instack,outstack,用于进队列,出队列
3,比如有1,2,3,4,5 需要进入队列,先将这一串数压入instack栈中,假设压入顺序为1,2,3,4,5(1为栈底),再将instack中的数据移入outst...
分类:
编程语言 时间:
2014-06-22 14:00:43
阅读次数:
257