亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? asearch.java

?? 基于java語言
?? JAVA
字號:
package runs;

//8數碼類
class Eight{
     int e[][] = {{0,2,3},{1,8,4},{7,6,5}};   //默認的起始狀態
     int faX ,faY;                      //保存父狀態中0的位置
     int f;                            //估價函數值
     Eight former ;            

 
     public Eight(){
          faX = -1;
          faY=-1;
          f=-1;
          former = null;
     }

     public Eight(Eight other){
        for(int i = 0; i<3; i++)
           for(int j=0 ;j<3; j++){
              e[i][j] = other.e[i][j];
            }
        this.faX = other.faX;
        this.faY = other.faY;
        this.f = other.f;
        this.former = other.former;
     }

     public void print()
     {
       for(int i1 = 0;i1<3;i1++)
          for(int j1=0;j1<3;j1++){
             System.out.print(e[i1][j1]);
             if(j1==2)
             System.out.println();
          }
       System.out.println();
     }

     public void listAll( Eight e ){
       e.print();
         while( e.former != null ){
               e.former.print();
              e = new Eight(e.former);    
         }
         return ;
     }
}

class Queue extends Object{ //隊列類
    private int size = 0;
    Eight qe[] = new Eight[100];

    public void print(){
       for(int i=0;i<size;i++)
          qe[i].print();
    }

    public void addElement(Eight e){
       qe[size] = e;
       size++;
    }

    public boolean contains(Eight e){
       if( size == 0 )
          return false;
       else{
          for(int i=0;i<size;i++){
          if(qe[i].equals(e))
          return true;
          }
       }
       return false;
    }

    public boolean isEmpty(){
        if (size == 0) 
           return true;
        else return false;
    }

    public Eight elementAt(int index){
        return qe[index];
    }

    public void setElementAt( Eight e,int index ){
        qe[index] = e;
   }

   public int size(){
       return size;
   }

   public int indexOf (Eight e) {
       for (int i = 0; i < size; i++){
          if (qe[i].equals( e ))
             return i;
       }
       return -1;
   }

   public void removeFirst( ){
       for(int i=0;i<size;i++){
          qe[i] = qe[i+1];
       }
       size--;
   }

   public void remove( Eight e ){
      for( int i = 0; i < size; i++ ){
         if( qe[i].equals( e ))
           qe[i] = null;
      }
      size--;
   }


   public void removeAllElements(){
       for (int i = 0; i < size; i++)
           qe[i] = null;
       size = 0;
   }

}

//算法實現類
public class Asearch{
    static int dest[][] = {{1,2,3},{8,0,4},{7,6,5}};
    static void Swap(Eight ee,int i,int j,int m,int n){
     int temp;
        temp = ee.e[i][j];
        ee.e[i][j] = ee.e[m][n];
        ee.e[m][n] = temp;
     }


    static int compare(Eight a){
        int h =0,i,j;
        for(i=0;i<3;i++)
        for(j=0;j<3;j++){
           if(a.e[i][j]!=dest[i][j])
              h++;
        }
        return h;
    }
 
    //生成子狀態
    static Queue born(Eight e){
        int m=1,n=1,i=0,j=0;
        boolean flag = true;
        Queue sons = new Queue();
        for(i=0;i<3&&flag;i++)
           for(j=0;j<3&&flag;j++){
              if(e.e[i][j]==0){
                 flag=false;
                 break;
              }
           }
     
        i--;
        if(i-1>=0){   ///up
           m=i-1;
           if(m!=e.faX){
             Swap(e,m,j,i,j);
             e.print();
             Eight son1 = new Eight(e);
             son1.faX = i;
             son1.faY = j;
             son1.former = e;
             sons.addElement(son1);
             Swap(e,i,j,m,j);
            // son1.former = e;

           }
        }
        if(i+1<3){/////down
           m=i+1;
           if(m!=e.faX){
             Swap(e,m,j,i,j);
               e.print();
             Eight son2 = new Eight(e);
             son2.faX = i;
             son2.faY = j;
             son2.former = e;
             sons.addElement(son2);
             Swap(e,i,j,m,j);
           }
        }
        if(j-1>=0){////left
          n=j-1;
          if(n!=e.faY){
            Swap(e,i,n,i,j);
           e.print();
            Eight son3 = new Eight(e);
            son3.faX = i;
            son3.faY = j;
            son3.former = e;
            sons.addElement(son3);
            Swap(e,i,j,i,n);
          }
        }
        if(j+1<3){////right
          n=j+1;
          if(n!=e.faY){
             Swap(e,i,n,i,j);
             e.print();
             Eight son4 = new Eight(e);
             son4.faX = i;
             son4.faY = j;
             son4.former = e;
             sons.addElement(son4);
             Swap(e,i,j,i,n);
          }
       }
       return sons;
    }
    public static void main(String[] args){
        int depth=0;      //深度
        Eight n = new Eight() ;
        Eight temp1 = new Eight() , temp2 = new Eight() ;
        //open表
        Queue open = new Queue();
        //closed表
        Queue closed = new Queue();
        //保存子狀態的表
        Queue son = new Queue();
        open.addElement(n);

        while(!open.isEmpty()){
            n= open.elementAt(0);
            open.removeFirst( );
            if(compare(n)==0){
              n.listAll(n);
              System.out.println("Success!");
              return;
            }
            son = born(n);
            depth++;
            int count = son.size(); 

            if(count==0)
               continue;
            else 
               for(int t=0;t<count;t++){
                  temp1 = son.elementAt(t);
                  if(!open.contains(temp1)&&!closed.contains(temp1)){
                    temp1.f = depth + compare(temp1);
                    open.addElement(temp1);
                  }
                  else if(open.contains(temp1)){
                      temp1.f = depth + compare(temp1);
                      int pos = open.indexOf(son.elementAt(t));
                      temp2 = open.elementAt(pos);
                      if(temp1.f<temp2.f){
                        open.setElementAt(temp1,pos);
                      }
                  }
                  else if(closed.contains(temp1)){
                     temp1.f = depth + compare(temp1);
                     int pos = closed.indexOf(temp1);
                     temp2 = closed.elementAt(pos);
                     if( temp1.f<temp2.f ){
                        closed.remove(son.elementAt(t));
                        open.addElement(temp1);
                     }
                  }
        }//end for
        closed.addElement(n);
        for(int i=open.size()-1;i>0;i--)
           for(int j=0;j<i;j++){
              temp1 = (Eight)open.elementAt(j);
              temp2 = (Eight)open.elementAt(j+1);
              if(temp1.f>temp2.f){
                Eight tq=new Eight();
                tq = open.elementAt(j);
                open.setElementAt(open.elementAt(j+1),j);
                open.setElementAt(tq,j+1);
              }
           }
        }//end while
        System.out.println("Fail!");
        return;
        }//end main
     }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩美一区二区三区| 不卡av在线免费观看| 91精品国产色综合久久| 免费在线观看一区二区三区| 91精品国产乱码久久蜜臀| 免费精品99久久国产综合精品| 日韩精品一区二区三区中文精品| 国产美女精品人人做人人爽| 国产精品天干天干在观线| 99re在线视频这里只有精品| 亚洲一二三四在线观看| 7777精品伊人久久久大香线蕉超级流畅| 喷白浆一区二区| 国产欧美视频在线观看| 色狠狠一区二区| 精品一区二区免费| 亚洲色图欧美在线| 制服丝袜亚洲网站| 成人深夜福利app| 亚洲成人激情av| 久久久久久99久久久精品网站| 91一区二区三区在线播放| 日韩激情一区二区| 国产精品日韩精品欧美在线| 欧美日韩另类一区| 国产精品一卡二卡| 亚洲国产日日夜夜| 26uuuu精品一区二区| 色婷婷综合久久久| 国产一区二区三区蝌蚪| 伊人一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 色婷婷av一区| 国产一级精品在线| 亚欧色一区w666天堂| 国产精品高潮呻吟| 日韩精品一区二区三区三区免费| 91欧美激情一区二区三区成人| 免费一级欧美片在线观看| 国产精品嫩草久久久久| 欧美人与z0zoxxxx视频| 99精品一区二区| 久久66热偷产精品| 午夜视频一区二区| 成人欧美一区二区三区黑人麻豆 | 成人性生交大片免费看在线播放| 亚洲国产一区二区三区青草影视 | 亚洲视频一二三| 2021久久国产精品不只是精品| 欧美日韩久久不卡| 91免费看`日韩一区二区| 国产自产高清不卡| 日本大胆欧美人术艺术动态| 亚洲九九爱视频| 国产片一区二区| 精品国产免费人成在线观看| 91精品综合久久久久久| 91黄色激情网站| 97精品超碰一区二区三区| 狠狠色丁香久久婷婷综| 日韩不卡一区二区三区| 日日噜噜夜夜狠狠视频欧美人| 亚洲精品水蜜桃| 中文字幕永久在线不卡| 中文字幕二三区不卡| 国产喂奶挤奶一区二区三区| 26uuu色噜噜精品一区二区| 日韩欧美国产系列| 日韩美女一区二区三区四区| 91精品欧美久久久久久动漫| 91精品啪在线观看国产60岁| 91麻豆精品国产91久久久| 欧美电影一区二区| 91精品国产色综合久久ai换脸| 91.xcao| 欧美日韩久久不卡| 欧美电影在哪看比较好| 日韩视频免费观看高清在线视频| 欧美一区二区三区免费在线看| 91精品在线观看入口| 欧美一二三四在线| 欧美videofree性高清杂交| 日韩精品中午字幕| 国产色综合久久| 国产精品日日摸夜夜摸av| 亚洲丝袜美腿综合| 一区二区三区日韩在线观看| 亚洲午夜av在线| 免费看黄色91| 成人一区二区三区在线观看| 色播五月激情综合网| 欧美美女黄视频| 欧美成人午夜电影| 国产精品麻豆视频| 亚洲综合久久av| 免费成人美女在线观看.| 黄色小说综合网站| 成人美女视频在线观看| 欧日韩精品视频| 日韩欧美精品在线视频| 国产精品免费aⅴ片在线观看| 亚洲欧美日韩一区| 日韩黄色一级片| 成人一区二区三区| 欧美疯狂性受xxxxx喷水图片| 欧美成人伊人久久综合网| 国产精品久久久久久久蜜臀| 亚洲一区二区三区免费视频| 激情图片小说一区| 91网站在线观看视频| 91麻豆精品91久久久久同性| 国产片一区二区三区| 香港成人在线视频| 成人综合婷婷国产精品久久免费| 欧美在线|欧美| 亚洲精品一区在线观看| 亚洲人被黑人高潮完整版| 人妖欧美一区二区| 色欧美日韩亚洲| 日韩欧美一区二区视频| 亚洲欧美二区三区| 狠狠色2019综合网| 欧美美女黄视频| 日韩美女精品在线| 麻豆精品视频在线观看| 91久久奴性调教| 久久精品亚洲麻豆av一区二区| 亚洲国产精品视频| eeuss鲁片一区二区三区 | aaa欧美大片| 欧美不卡一二三| 樱花影视一区二区| 国产91在线观看| 欧美哺乳videos| 日韩中文字幕亚洲一区二区va在线| 国产精品一区二区免费不卡| 欧美一区国产二区| 一区二区成人在线观看| 成人网在线免费视频| 欧美成人r级一区二区三区| 亚洲高清一区二区三区| 91小视频在线| 中文字幕综合网| 粗大黑人巨茎大战欧美成人| 日韩欧美高清一区| 视频一区中文字幕国产| 色婷婷国产精品久久包臀| 国产精品不卡一区| 国产福利一区二区三区| 欧美精品一区二区三区四区| 日韩激情一二三区| 欧美精品123区| 亚洲成av人影院| 在线视频国内自拍亚洲视频| 亚洲日本电影在线| 9i看片成人免费高清| 国产精品精品国产色婷婷| 国产精品一区二区久激情瑜伽| 精品久久久久一区| 蜜臀久久99精品久久久画质超高清 | 99视频精品免费视频| 亚洲国产精品精华液ab| 国产不卡高清在线观看视频| 国产午夜精品在线观看| 高清在线不卡av| 国产精品久久夜| 91在线视频播放地址| 国产精品对白交换视频| 99riav一区二区三区| 一区二区三区四区中文字幕| 在线观看视频91| 丝袜亚洲另类欧美| 日韩网站在线看片你懂的| 韩国av一区二区| 中文字幕免费不卡| 色呦呦国产精品| 五月激情丁香一区二区三区| 制服丝袜中文字幕一区| 韩国女主播一区| 国产精品污网站| 欧美主播一区二区三区| 三级一区在线视频先锋| 91精品国产一区二区人妖| 狠狠久久亚洲欧美| 中文字幕一区二区在线观看| 欧美性高清videossexo| 天堂一区二区在线| 久久综合色鬼综合色| 成人av资源在线| 亚洲国产成人porn| 26uuu久久综合| 日本精品免费观看高清观看| 亚洲3atv精品一区二区三区| 久久久亚洲精品一区二区三区| 99riav久久精品riav| 欧美a级一区二区| 亚洲欧洲另类国产综合| 欧美精品久久99久久在免费线| 国产在线精品一区二区| 亚洲精品视频在线观看网站|