Хранение 2D массива в очереди - PullRequest
0 голосов
/ 15 мая 2019

Я хочу сохранить 2D-массив как элемент Queue. после выполнения некоторых операций над ним.

как проблема 8 головоломок

это мое целевое состояние, и исходное состояние берется из файла

final static int [] [] goal = new int [] [] {{3,2,1}, {5,6,4}, {7,9,8}}; public static Queue queue = new LinkedList ();

    public void ARotateRight(int [][]parent){
        int swap=parent[0][0];    
        parent[0][0]=parent[1][0];
        parent[1][0]=parent[1][1];
        parent[1][1]=parent[0][1];
        parent[0][1]=swap;

        queue.add(parent);//add element in array
    }


   public boolean DFS(){        
        while(!queue.isEmpty()){

            int[][] queueblock = queue.remove();

   //printing array 
            for(int i=0 ;i<3;i++){
                for(int j=0 ;j<3;j++){
                    System.out.print(queueblock [i][j]);
                }
                System.out.println();
            }           

            if(isGoal(queueblock)){
                return true;
            } 

            ARotateRight(queueblock);
            ARotateLeft(queueblock);
            BRotateRight(queueblock);
            BRotateLeft(queueblock);
            CRotateRight(queueblock);
            CRotateLeft(queueblock);
            DRotateRight(queueblock);
            DRotateLeft(queueblock);
        }
        return false;
    }
    //main function.
    public static void main(String[] args) throws FileNotFoundException {

        DFSTask dfsTask=new DFSTask(); //DFSTask is my class name

        File file=new File("D://newfile.txt");
        Scanner input=new Scanner(file);        
        int [][] block=new int[3][3]; 

        for(int i=0 ;i<3;i++){
            for(int j=0 ;j<3;j++){
                block [i][j]=Integer.parseInt(input.next());
            }   
        }

        queue.add(block);             //adding initial state in Queue
        boolean check=dfsTask.DFS();
        System.out.println(check);
    }
    }

после печати все элементы очереди совпадают. Я ожидаю, что все элементы должны быть разными

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...