概述
//
// 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]
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 **********/
}
最后
以上就是想人陪砖头为你收集整理的数据结构与算法--十大经典算法--桶排序的全部内容,希望文章能够帮你解决数据结构与算法--十大经典算法--桶排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复