# SortBoys
**Repository Path**: dahunter/sort-boys
## Basic Information
- **Project Name**: SortBoys
- **Description**: 排序算法
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-11-07
- **Last Updated**: 2022-11-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Sort Boys
李强、高宝宇、狄虎三位同学实现的排序算法。包括:`选择排序`,`归并排序`,`快速排序`,`希尔排序`,`基数排序`
1. 基于java实现了上述五种算法的单机版本和多线程模拟分布式版本。
2. 基于C语言实现了上述五种算法的大数版本排序(数值的范围在 [-10^100 , 10^100])
# 代码目录
``````│ .gitignore
│ README.md
│ 程序设计大作业--排序算法.pptx //大作业PPT
│
├─big_data_sort //C预言实现大数排序
│ │ big_data_sort.c // 大数排序主文件
│ │ Makefile // Makefile
│ └─sort
│ │ sort_core.c // 排序核心模块
│ │ select_sort.c // 选择排序
│ │ merge_sort.c // 归并排序
│ │ quick_sort.c // 快速排序
│ │ shell_sort.c // 希尔排序
│ │ radix_sort.c // 基数排序
│ │ sort.h // 排序头文件
│ └─time_code
│ time_code.c // 计时模块源文件
│ time_code.h // 计时模块头文件
│
├─dataset // 待排序数据集
│ B_10w // 大数版本,10万个数据,大数范围:[-10^100,10^100]
│ B_1b // 大数版本,100个数据
│ B_1k // 大数版本,1千个数据
│ B_1w // 大数版本,1万个数据
│ n_100w // int数据版本,100万个数据,int范围:[-2^31,2^31-1]
│ n_10w // int数据版本,10万个数据
│ n_1k // int数据版本,1千个数据
│ n_1w // int数据版本,1万个数据
│ n_500w // int数据版本,500万个数据
│
└─java_sort // java实现的单机排序和分布式排序
│ pom.xml // maven依赖项,只引入了jdk8
└─src
└─main
└─java
│
├─sort // 单机版排序算法
│ SelectSort.java // 选择排序
│ MergeSort.java // 归并排序
│ QuickSort.java // 快速排序
│ RadixSort.java // 基数排序
│ ShellSort.java // 希尔排序
│
├─dstbsort // 分布式排序算法
│ DstbMergeSort.java // 分布式归并排序
│ DstbQuickSort.java // 分布式快速排序
│ DstbRadixSort.java // 分布式基数排序
│ DstbShellSort.java // 分布式希尔排序
│
└─utils //工具类
CreatDataUtils.java //生成待排序数据的工具类
FileUtils.java //文件加载,写入工具类
SortUtils.java // 验证排序结果正确性的工具类
``````
# 运行环境
## big_data_sort 部分
make
gcc
## java_sort 部分
jdk == 1.8
maven >= 3.0
# 使用方法
## big_data_sort 部分
进入big_data_sort目录后执行make操作,运行./big_data_sort 可查看使用方法:
usage:./big_data_sort \ \