【第22期】观点:IT 行业加班,到底有没有价值?

基数排序

原创 2015年11月19日 22:28:10

 

 

#include<iostream>
#include<iomanip>
#include<cmath>
#define BASE 10
using namespace std;

void base_sort(int arr[], int n, int num_length)
{
	int i = 1;
	int flag = 1;
	while (i <= num_length)
	{
		int length = 1;
		int A = static_cast<int>(pow(BASE, i));
		int B = static_cast<int>(pow(BASE, i - 1));
		
		do{
			for (int k = 0; k+1 <= n - 1; k++)
			{
				if (arr[k] % A / B  > arr[k+1] % A / B)
				{
					int t = arr[k];
					arr[k] = arr[k+1];
					arr[k+1] = t;
					flag = 1;
				}
				
			}
			length++;

		} while ((length < n) && (flag == 1));
		
		++i;
	}
}

void main()
{
	int arr[] = { 100, 209, 105, 117, 218, 326, 212, 414, 323, 111 };
	int length = sizeof(arr) / sizeof(int);
	for (int i = 0; i < length; i++)
		cout << arr[i] << " ";
	cout << endl;

	base_sort(arr, length, 3);
	for (int i = 0; i < length; i++)
		cout << arr[i] << " ";
	cout << endl;
	system("pause");
}


 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

基数排序

编程论到极致,核心非代码,即思想。 所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。 每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是...

基数排序

基数排序可以说是扩展了的桶式排序,比如当待排序列在一个很大的范围内,比如0到999999内,那么用桶式排序是很浪费空间的。而基数排序把每个排序码拆成由d个排序码,比如任何一个6位数(不满六位前面补0)拆成6个排序码,分别是个位的,十位的,百位的。。。。 排序时,分6次完成,每次按第i个排序码来排。...
  • 128kj
  • 128kj
  • 2012-09-19 10:18
  • 931

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

基数排序(Radix Sort)

算法描述:基数排序过程无须比较关键字,而是通过“分配”和“收集”过程来实现排序。

java基数排序算法代码下载

原文:<a class="title" style="font-size: 14px; color: #0089c8; font-weight

基数排序

基数排序是将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,一次进行一次排序。这样从最低位排序一直到最高位排序完成之后,数列就变成一个有序序列。NOTE: 基...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)