基数排序

原创 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");
}


 

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

基数排序法by队列

  • 2014年11月16日 23:32
  • 4KB
  • 下载

基数排序算法 java实现

  • 2012年02月20日 15:54
  • 32KB
  • 下载

基数排序简介及LSD、MSD实现

一、简介     基数排序(Radix Sort)属于“分配式排序”(Distribution Sort)。基数排序法是属于稳定性的排序。设待排序列为n个记录,d个关键码,关键码的取值范围为Radix...
  • ddppqq
  • ddppqq
  • 2013年11月03日 13:07
  • 2017

iOS基数排序

  • 2014年05月23日 15:27
  • 68KB
  • 下载

基数排序算法

  • 2014年08月16日 11:17
  • 736B
  • 下载

C++基数排序(包含计数排序)

C++基数排序(包含计数排序) 1、hanshu.h                                            //自定义头文件 #define N1 10 #def...

【数据结构】基数排序的哈希表

  • 2010年08月09日 05:45
  • 23KB
  • 下载

基数排序——radix-sort

  • 2016年04月15日 19:40
  • 205KB
  • 下载

算法总结系列之五: 基数排序(Radix Sort)

基数排序是非比较排序算法,算法的时间复杂度是O(n). 相比于快速排序的O(nlgn),从表面上看具有不小的优势.但事实上可能有些出入,因为基数排序的n可能具有比较大的系数K.因此在具体的应用中,应首...

基数排序源代码 C++实现

  • 2014年01月08日 12:15
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基数排序
举报原因:
原因补充:

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