我是靠谱客的博主 想人陪砖头,这篇文章主要介绍数据结构与算法--十大经典算法--桶排序,现在分享给大家,希望可以做个参考。

//
// sort_.cpp
// Sort
//
// Created by ljpc on 2018/4/20.
// Copyright © 2018年 ljpc. All rights reserved.
//

#include “sort_.h”

void print_array(int *arr, int n)
// 打印数组
{
if(n==0){
printf(“ERROR: Array length is ZEROn”);
return;
}
printf("%d", arr[0]);
for (int i=1; i<n; i++) {
printf(" %d", arr[i]);
}
printf("n");
}

int* sort_array(int arr, int n)
// 编程实现《桶排序算法》
// 函数参数:乱序整数数组 数组长度
// 函数返回值:返回从小到大排序后的数组
{
// 请在这里补充代码,完成本关任务
/
********* Begin *********/

int maxVal = arr[0]; //假设最大为arr[0]

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
for(int i = 1; i < n; i++) //遍历比较,找到大的就赋值给maxVal { if(arr[i] > maxVal) maxVal = arr[i]; } int tmpArrLen = maxVal + 1; int tmpArr[tmpArrLen]; //获得空桶大小 int i, j; for( i = 0; i < tmpArrLen; i++) //空桶初始化 tmpArr[i] = 0; for(i = 0; i < n; i++) //寻访序列,并且把项目一个一个放到对应的桶子去。 tmpArr[ arr[i] ]++; for(i = 0, j = 0; i < tmpArrLen; i ++) { while( tmpArr[ i ] != 0) //对每个不是空的桶子进行排序。 { arr[j ] = i; //从不是空的桶子里把项目再放回原来的序列中。 j++; tmpArr[i]--; } } return arr; /********** End **********/

}

最后

以上就是想人陪砖头最近收集整理的关于数据结构与算法--十大经典算法--桶排序的全部内容,更多相关数据结构与算法--十大经典算法--桶排序内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(92)

评论列表共有 0 条评论

立即
投稿
返回
顶部