typedef struct _Node
{
int data_len; // 存储在节点中的数据长度
char *data; // 存储在节点中的数据
struct _Node *next; // 队列中的下一个节点地址
}NODE;
typedef struct _Queue
{
NODE *head; // 队列的头部
NODE *end; // 队列的尾部
int count; // 队列长度
}QUEUE;
bool InitQueue( QUEUE *queue )
{
if( NULL == queue )
{
return false;
}
queue->head = NULL;
queue->end = NULL;
queue->count = 0;
return true;
}
// 在队列中插入节点
bool Enqueue( QUEUE *queue, char *queue_data, int data_len )
{
if( NULL == queue || NULL == queue_data )
{
return false;
}
// 开辟新节点
NODE *new_node = (NODE *)malloc( sizeof(NODE) );
if( NULL == new_node )
{
return false;
}
// 开辟空间存储数据
new_node->data = (char *)malloc( data_len );
if( NULL == new_node->data )
{
return false;
}
memcpy( new_node->data, queue_data, data_len );
new_node->next = NULL;
new_node->data_len = data_len;
// 如果队列为空,则新节点即是头部,也是尾部
if( queue->head == NULL )
{
queue->head = new_node;
queue->end = new_node;
}
else
{
// 如果队列不为空,将此节点连接到队列的尾部
queue->end->next = new_node;
// 队列新尾部指向此节点
queue->end = new_node;
}
queue->count ++;
return true;
}
// 从队列中读出一个节点
NODE *Dequeue( QUEUE *queue )
{
if( NULL == queue )
{
return NULL;
}
// 如果队列为空,则无数据可从数列读出,直接返回
if( NULL == queue->head )
{
return NULL;
}
// 保存队列首节点
NODE *node_tmp = queue->head;
// 将首节点的下一个节点(第二个节点)设置为首节点,即删除了首节点
queue->head = node_tmp->next;
// 如果新首节点为空,则队列为空
if( NULL == queue->head )
{
queue->end = NULL;
}
queue->count --;
return node_tmp;
}
// 释放队列所有内存
void FreeQueue( QUEUE *queue )
{
if( queue )
{
return;
}
NODE *tmp_node1 = queue->head;
while( tmp_node1 )
{
NODE *tmp_node2 = tmp_node1;
free( tmp_node1->data );
free( tmp_node1 );
tmp_node1->data = NULL;
tmp_node1 = NULL;
tmp_node1 = tmp_node2->next;
}
}
分享到:
相关推荐
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
包括浏览器抓包,手机APP抓包,如 fiddler、mitmproxy,各种爬虫涉及的模块的使用,如:requests、beautifulSoup、selenium、appium、scrapy等,以及IP代理,验证码识… 爬虫(Web Crawler)是一种自动化程序,用于...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统。 Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式...
FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
基于布隆算法,对欲加入队列的原始统一资源定位符进行过滤,以防止已被抓 取过的URL再次入队,降低冗余开销同时避免无限循环。 2.2.3. 原始统一资源定位符(RawUrl) 提供原始形态的统一资源定位符字符串的简单包装,...
第16章 抓包&爬虫基础、爬虫精讲、编码&API; 第17章 数据结构基础和算法分析原理、链表队列栈和四大结构、平衡二叉搜索树和哈希表 第18章 bbs基础、bbs标题和回复、bbs其他 第19章 web安全和应对、服务器的配置文件...