当前位置: 技术问答>java相关
谁能帮我写个完整的程序,给100分
来源: 互联网 发布时间:2017-04-05
本文导语: 一个元素个数为2的n次幂的序列的倒序重排的规则是:将原序列按照奇偶分为两组,再分解时,又将每组再按照奇偶分为两组,这样下去,直到最后分解出来的每组所含元素个数为2个 如下例: 元素个数为8 (2的3次幂)的序列...
一个元素个数为2的n次幂的序列的倒序重排的规则是:将原序列按照奇偶分为两组,再分解时,又将每组再按照奇偶分为两组,这样下去,直到最后分解出来的每组所含元素个数为2个
如下例: 元素个数为8 (2的3次幂)的序列为:a b c d e f g h , 倒序重排后为: a e c g b f d h
第一次排列
a c e g (编号为奇数的字母)
序列 a b c d e f g h ==>>{
编号 1 2 3 4 5 6 7 8 b d f h (编号为偶数的字母)
第二次排列
a e (编号为奇数的字母)
序列 a c e g ==>>{
编号 1 2 3 4 c g (编号为偶数的字母)
b f (编号为奇数的字母)
序列 b d f h ==>>{
编号 1 2 3 4 d h (编号为偶数的字母)
最终结果 a e c g b f d h
如下例: 元素个数为8 (2的3次幂)的序列为:a b c d e f g h , 倒序重排后为: a e c g b f d h
第一次排列
a c e g (编号为奇数的字母)
序列 a b c d e f g h ==>>{
编号 1 2 3 4 5 6 7 8 b d f h (编号为偶数的字母)
第二次排列
a e (编号为奇数的字母)
序列 a c e g ==>>{
编号 1 2 3 4 c g (编号为偶数的字母)
b f (编号为奇数的字母)
序列 b d f h ==>>{
编号 1 2 3 4 d h (编号为偶数的字母)
最终结果 a e c g b f d h
|
public class Test1{
public static void main(String[] args){
String arr[]={"a","b","c","d","e","f","g","h"} ;
group(arr, 0, arr.length);
for( int i=0; i
public static void main(String[] args){
String arr[]={"a","b","c","d","e","f","g","h"} ;
group(arr, 0, arr.length);
for( int i=0; i