返回信息流RT
今天被别人问了,一时语塞~~杯具
这是一条镜像帖。来源:北邮人论坛 / cpp / #46138同步于 2010/11/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
如果有0到255的共计256个数字,怎么尽可能快的排序?
psSmile
2010/11/12镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
我咋觉得就256个数字,还是从0-255,就不用排序呢?
直接循环:a[i]=i;//i<-0 to 255
【 在 psSmile (淡淡红茶) 的大作中提到: 】
: RT
: 今天被别人问了,一时语塞~~杯具
娱乐一下,不必当真。
static int nums[256]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255};
void sort(int *ar) {
memcpy(ar,nums,sizeof(nums));
}
哈哈
【 在 wks (cloverprince) 的大作中提到: 】
: 娱乐一下,不必当真。
: static int nums[256]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,7
: void sort(int *ar) {
: ...................
同语塞
【 在 psSmile 的大作中提到: 】
: RT
: 今天被别人问了,一时语塞~~杯具
: --
: ...................
如果数字对应其他信息的话可以这样:
struct Data
{
int index;
Type data;
};
void sort(Data data[], int n)
{
for(int i=0; i<n; i++)
while(i!=data[i].index)
swap(data[i], data[data[i].index]);
}
恩,计数排序ms不错.
【 在 datou06415 的大作中提到: 】
: int a[256];
: 初始化为0
: 根据数值将对应的下标数组值计数加1
: ...................