11月10到11号学习(第8、9天)

这两天的尽力学习递归至少把例题全部写一遍都写上注释

学习结果
10号
今天单词

Data is Move

11号
今天单词

Node set while



/**
* Test4_2 类
* @author xinjie
*
*/
public class Test4_2 {

//定义参数
int m = 6;

//定义参数
int n = 8;

//创建实例化对象
Stack <DataType> s = new Stack();

/**
*  path()方法
* @param int[][] maze Move[] move
* @return 1
*/
public int path(int[][] maze,Move[] move){

//创建实例化对象
DataType temp = new DataType();

//定义参数
int x, y, d, i, j;

//调用方法
temp.setX(1); temp.setY(1); temp.setD(-1);

//调用方法
s.push(temp);

//while循环
while(!s.empty()){

//引用
temp = s.pop();

//引用
x = temp.getX(); y = temp.getY(); d = temp.getD() + 1;

//while循环
while(d < {

//引用
i = x + move[d].getX();

//引用
j = y + move[d].getY();

//if语句
if(maze[i][j] == 0){

//创建实例化对象
temp = new DataType();

//调用方法
temp.setX(x); temp.setY(y); temp.setD(d);

//调用方法
s.push(temp);

//定义参数
x = i; y = j; maze[x][y] = -1;

//if语句
if(x == m&&y == n){

//返回1
return 1;
}

//否
else{

//d=0
d = 0;
}

//否
else
//d+1
d++;
}
}

//返回 0
return 0;
}
}
}



/**
* Move1 类
* @author xinjie
*
*/
public class Move1 {

/**
* Move 类
* @author xinjie
*
*/
class Move{

//定义私有参数
private int x;

//定义私有参数
private int y;

//定义公共参数
public Move(int x, int y){

//引用
this.x = x;

//引用
this.y = y;
}

/**
* getX()方法
* @returnx
*/
public int getX(){

return x;
}

/**
* setX()方法
* @param int x
* return 空
*/
public void setX(int x){

this.x = x;
}

/**
* getY() 方法
* @return y
*/
public int getY(){

return y;
}

/**
* setY()方法
* @param int y
* reuturn 空
*/
public void setY(int y){


//引用
this.y = y;
}
}
}


//调用包
import java.util.Stack;

/**
* fii 类
* @author xinjie
* 公共
*/
public class fii{

/**
* Node 类
* @author xinjie
*
*/
class Node{

//定义私有参数
private Object data;

//定义私有参数
private Node leftChild;

//定义私有参数
private Node rightChild;

/**
* getData()方法
* @return
*/
public Object getData(){

//返回值
return data;

}

/**
* setData()方法
* @param Object data
* return 空
*/
public void setData(Object data){

//引用
this.data = data;
}

/**
* getLeftChild() 方法
* @return  leftChild
*/
public Node getLeftChild(){

return leftChild;
}


/**
* setLeftChild()方法
* @param Node leftChild
*/
public void setLeftChild(Node leftChild){

//引用
this.leftChild = leftChild;
}

/**
* getLeftChild() 方法
* @return  rightChild
*/
public Node getRightChild(){

return rightChild;
}

/**
* setRightChild()方法
* @param Node rightChild
*/
public void setRightChild(Node rightChild){

//引用
this.rightChild = rightChild;
}
}

/**
* BiTree 类
* @author xinjie
*
*/
class BiTree{

//定义私有参数
private Node root;

/**
* getRoot()方法
* @return root
*/
public Node getRoot(){

return root;
}

/**
* counter()方法
* @param BiTree bt
*/
public int counter(BiTree bt){

//一定参数
int count = 0;

//引用
Node root = bt.getRoot();

//创建实例化对象
Stack <Node> stack = new Stack();

//if语句
if(root != null){

//调用方法
stack.push(root);

//循环
//while一般用于 不清楚需要循环多少次的情况下
while(!stack.empty()){

//引用
Node node = stack.pop();

//count+1
count ++;

//if语句
if(node.getLeftChild()!= null){

//调用方法
stack.push(node.getLeftChild());
}

//if语句
if(node.getLeftChild()!= null){

//调用方法
stack.push(node.getRightChild());
}
}
}

//返回 count
return count;
}
}
}




/**
* fdg 类
* @author xinjie
*
*/
public class fdg {

/**
* fibi() 方法
* @param  int n
* @return 1
*/
public long fibi(int n){

//长整型 oneback=1 twobck=1 current=-1
long oneback = 1, twoback = 1, current = -1;

//定义参数
int i;

//if语句n=1或n=2
if(n == 1 || n ==2)

//返回1
return 1;
//否
else

//for循环
for(i = 3; i <= n; i++){

//长整型 current = oneback + twoback
current = oneback + twoback;

//长整型oneback = twoback
oneback = twoback;

//长整型twoback = current
twoback = current;
}

//返回cunrrent
return current;
}
}




//调用java 的文件包
import java.io.File;

/**
* fasd 类
* @author xinjie
*
*/
public class fasd {

/**
* deFolder()方法
* @param file
* return 空
*/
public void deFolder(File file){

//if语句file文件调用isFile is标准 isFile标准文件
if(file.isFile()){

//调用方法
//执行删除
file.delete();

//否
}else{

//得到直接下级的文件和文件夹
Files[] chidren = file.listFiles();

//for循环
for(int i = 0; i < children.length; i++){

//删除子文件或文件夹
delFolder(children[i]);
}

//删除自身文件夹
file.delete();
}
}
}




/**
* fal 类
* @author xinjie
*
*/
public class fal {

/**
* hanoi() 方法
* @param int n chat s chat m chat e
*/
public void hanoi(int n, char s, char m, char e){

//if语句 n=1
if(n == 1)

//调用 move方法
//将编号为1的盘子从头柱s移动到尾柱e
move (s, 1, e);

//否
else{

//将头柱s上编号为1至n-1的盘子移动到中柱m,尾柱e做辅助塔
hanoi(n - 1, s, e, m);

//将编号为n的盘子从头柱c移动到尾柱e
move(s, n, e);

//将中柱m上编号为1至n-1的盘子移到尾柱e,头柱e做辅助塔
hanoi(n - 1, m, s, e);
}
}
}




/**
* digui1 类
* @author xinjie
*
*/
public class digui1 {

/**
* main() 方法
* @param String[] args
* reuturn 空
*/
public static void main(String[] args){

//定义参数
int m , n = 3;

//引用
m = fact(n);

//输出
System.out.println( n + "!= " + m);
}

/**
* fact() 方法
* @param int n
* @return f
*/
public static int fact( int n ){

//定义参数
int f;

//if语句 n=0 f=1
if( n == 0) f = 1;

//否 f=n*fact(n-1)
else f = n * fact( n - 1);

//返回值 f
return f;
}
}

猜你喜欢

转载自xjwolaile.iteye.com/blog/1722542