1 Star 0 Fork 5

卢国祥/C Data Structure

forked from Shapper/C Data Structure 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
merge_sort.h 757 Bytes
一键复制 编辑 原始数据 按行查看 历史
Shapper 提交于 2年前 . add merge sort
//
// Merge Sort
// Created by Win10 on 2023/4/7.
//
#ifndef C_DATA_STRUCTURE_MERGE_SORT_H
#define C_DATA_STRUCTURE_MERGE_SORT_H
#include <algorithm>
template<typename T>
//归并排序迭代写法
void merge_sort(T a[], int len) {
T *a_ = new T[len];
for (int seg = 1; seg < len; seg += seg) {
for (int beg = 0; beg < len; beg += seg + seg) {
int low = beg, mid = std::min(beg + seg, len), high = std::min(beg + seg + seg, len);
int i = low, j = mid, k = low;
while (i < mid && j < high) a_[k++] = a[i] > a[j] ? a[j++] : a[i++];
while (i < mid) a_[k++] = a[i++];
while (j < high) a_[k++] = a[j++];
for (k = beg; k < high; ++k) a[k] = a_[k];
}
}
delete[] a_;
}
#endif //C_DATA_STRUCTURE_MERGE_SORT_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C/C++
1
https://gitee.com/noob-coder/c-data-structure.git
git@gitee.com:noob-coder/c-data-structure.git
noob-coder
c-data-structure
C Data Structure
master

搜索帮助