首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Grefenstette编码的解码有关问题

2012-05-03 
Grefenstette编码的解码问题比如我有从1到12共12个数,他们的访问次序如下:10 9 12 11 3 4 1 2 8 7 5 6则其

Grefenstette编码的解码问题
比如我有从1到12共12个数,他们的访问次序如下:
10 9 12 11 3 4 1 2 8 7 5 6
则其Grefenstette编码为:
10 9 10 9 3 3 1 1 4 3 1 1
现在的问题是如何从Grefenstette的编码得到原始的访问次序?
即如何从
10 9 10 9 3 3 1 1 4 3 1 1
得到
10 9 12 11 3 4 1 2 8 7 5 6


[解决办法]
得到原始的访问次序不难;
但想不出很好的方法;

#include <stdio.h>

int main()
{
int i,j;
int a[12]={10 ,9 ,10 ,9 ,3 ,3 ,1 ,1 ,4 ,3 ,1 ,1 };
 
for (i=12-1;i>=0 ;i-- )
{
for (j=i-1;j>=0 ;j-- )
{
if (a[j]<=a[i]) a[i]++;
}
}

for (i=0;i<12 ;i++ ) printf("%3d",a[i]);

return 0;
}

热点排行