资源简介
利用Pthread多线程工具 实现桶排序的并行化,并在linux下调试通过。
代码片段和文件信息
#include
#include
#include
#include
#define MAX_BUCKET 10 /*桶容器的数量*/
#define RANGE_BUCKET 10 /*每个桶容器的增量范围*/
#define MAX_NUMBERS 200 /*用于测试排序的数据总量*/
//定义数据节点,包含数据和指向下一个节点的指针
typedef struct _node {
int data;
struct _node * next;
}
node;
//定义数据结构,传递至线程执行函数里面
struct thread_data{
int thread_id;//当前线程的ID
node *in;//当前线程需要处理的单链表
};
//声明线程,每个桶容器对应一个线程
pthread_t threads[MAX_BUCKET];
//声明传递至线程执行函数的结构体数组
struct thread_data thread_data_array[MAX_BUCKET];
//声明桶排序函数
void bucket_sort(int array[]int arraySize);
//声明每个线程的处理函数
void *thread_bucket_sort(void *in);
//声明插入排序函数
node *insert_sort(node *list);
//声明计算桶容器下标的函数
int returnBucketIndex(int data);
//声明桶容器,用于数据分配以及排序
node ** all_buckets;
//声明桶容器,用于在线程中排序完成后更新
node ** all_buckets_t;
//桶排序函数定义
void bucket_sort(int array[] int arraySize)
{
int ij;
//分配内存
all_buckets = (node **)malloc(sizeof(node *)*MAX_BUCKET);
all_buckets_t = (node **)malloc(sizeof(node
- 上一篇:粒子群算法优化PID
- 下一篇:遗传算法进行图像分割
相关资源
- 图解HTTP.pdf
- VisionProStandardv7.2(2Day).zip
- ElevatorSimulation.zip
- 14002454IPC-A-610DChinese(L).pdf
- SoftwareEngineering.pdf
- linfanrong_10164999.rar
- The.Art.Of.Unit.Testing.With.Examples.in.C.2nd
- myGame.rar
- 带手机版数据同步财税代理公司注册
- pdf课本及习题答案.rar
- 深度学习PDF非扫描版(中文版)麻省
- doudizhu_shffule_src.zip
- 随机信号分析解题指南.pdf
- ios12.3驱动.zip
- 百万邮件系统多机版.rar
- learnopengl-cn-2018年5月更新.pdf
- zw_学习OpenCV(中文版).zip
- 1-300.pdf
- pyqt5windows生成二维工具源码
- KNN疾病预测算法Demo
- ABAQUS单元失效浅析(单元删除
- Jtopo+json格式数据代码
- 解多目标规划的单纯形代码
- TerraVolVoxelTerrainEngine2.1c.7z
- VA_X_Setup2118.rar
- CHS_Ha_PasswarekitEnterprise10.0.exe
- 无线通信AndreaGoldsmith杨鸿文等译.rar
- 迅捷PDF转换器破解版.rar
- 迅捷PDF编辑器破解版.rar
- 金字塔原理1清晰扫描版.pdf
评论
共有 条评论