91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6.30KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-03-27
  • 語言: 其他
  • 標簽: 其他??

資源簡介


利用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

評論

共有 條評論