聚焦市场开发热门技术 手把手带你开发商业级社交App无密
download:聚焦市场开发热门技术 手把手带你开发商业级社交App
实例
include
define MAX 20
//#define SHOWPASS
define BASE 10
void print(int *a, int n) {
int i;
for (i = 0;
i < n;
i++) {
printf("%d\t", a[i]);
}
}
void radixsort(int *a, int n) {
int i, b[MAX], m = a[0], exp = 1;
for (i = 1; i < n; i++) {
if (a[i] > m) {
m = a[i];
}
}
while (m / exp > 0) {
int bucket[BASE] = { 0 };
for (i = 0;
i < n;
i++) {
bucket[(a[i] / exp) % BASE]++;
}for (i = 1;
i < BASE;
i++) {
bucket[i] += bucket[i - 1];
}for (i = n - 1;
i >= 0;
i--) {
b[--bucket[(a[i] / exp) % BASE]] = a[i];
}for (i = 0;
i < n;
i++) {
a[i] = b[i];
}exp *= BASE;
ifdef SHOWPASS
printf("\nPASS: ");
print(a, n);
endif }
}
int main() {
int arr[MAX];
int i, n;
printf("Enter total elements (n <= %d) : ", MAX);
scanf("%d", &n);
n = n < MAX ? n : MAX;
printf("Enter %d Elements : ", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("\nARRAY : ");
print(&arr[0], n);
radixsort(&arr[0], n);
printf("\nSORTED : ");
print(&arr[0], n);
printf("\n");
【聚焦市场开发热门技术 手把手带你开发商业级社交App无密】return 0;
}
Lua
实例
-- 获取表中位数
local maxBit = function (tt)
local weight = 10;
-- 十進制
local bit = 1;
for k, v in pairs(tt) do
while v >= weight do
weight = weight * 10;
bit = bit + 1;
end
end
return bit;
end
-- 基数排序
local radixSort = function (tt)
local maxbit = maxBit(tt);
local bucket = {};
local temp = {};
local radix = 1;
for i = 1, maxbit do
for j = 1, 10 do
bucket[j] = 0;
--- 清空桶
end
for k, v in pairs(tt) do
local remainder = math.floor((v / radix)) % 10 + 1;
bucket[remainder] = bucket[remainder] + 1;
-- 每個桶數量自動增加1
endfor j = 2, 10 do
bucket[j] = bucket[j - 1] + bucket[j];
-- 每个桶的数量 = 以前桶数量和 + 自个数量
end
-- 依照桶的位置,排序--这个是桶式排序,必需运用倒序,由于排序办法是从小到大,次第下来,会呈现大的在小的上面清空。
for k = #tt, 1, -1 do
local remainder = math.floor((tt[k] / radix)) % 10 + 1;
temp[bucket[remainder]] = tt[k];
bucket[remainder] = bucket[remainder] - 1;
end
for k, v in pairs(temp) do
tt[k] = v;
end
radix = radix * 10;
end
end;
推荐阅读
- 深入理解Go之generate
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 市场何时出现转机()
- 我的软件测试开发工程师书单
- echart|echart 双轴图开发
- NPDP拆书(三)(新产品开发战略(经营与创新战略))
- 芯灵思SinlinxA33开发板Linux内核定时器编程
- 常用git命令总结
- 华雨欢(传统投资市场回暖,币市暴涨暴跌后回归震荡)
- 藏族开发的修路人——记致富援乡的斯定那珠