?? gray.java
字號:
package Method;
public class Gray {
public static void main(String[] args) {
String[] string=new String[1<<5];
string=Grays(5);
for(int i=0;i<(1<<5);i++)
System.out.print(string[i]+".");
}
public static String[] Grays(int n)
{
String[] s=new String[1<<n];
if(n==1)
{
s[0]="0";
s[1]="1";
}
else
{
int n1,n2,n3;
n2=n/2; //將n拆分成n1和n2的形式 遞歸調用實現
n1=n-n2;
String[] s1=new String[1<<n2];
s1=Grays(n2);
String[] s2=new String[1<<n1];
s2=Grays(n1);
for(int i=0;i<(1<<n2);i++)
{
n3=(1<<n1)+1; //這個變量用戶將一定位置的S調換
for(int j=0;j<(1<<n1);j++)
{
if(i%2!=0)
{
n3=n3-2;
s[i*(1<<n1)+j+n3]=s1[i]+s2[j];//實現有些變量的逆轉
}
else
s[i*(1<<n1)+j]=s1[i]+s2[j];
}
}
}
return s;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -