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