/**
* 不交换节点,只交换节点内的值 相比交换两节点要简单些
* @param number1
* @param number2
*/
public void swapValue(String number1, String number2){
// 定义节点
StudentNode t1,t2;
t1=t2=null;
// 定义一个头节点
StudentNode p = head;
//遍历,通过想要交换的两个学号number1 number2 先找到t1、t2
while(p.getNext() != null){
if(p.getNext().getStu().getNumber().equals(number1)){ // 查找 number1
t1 = p.getNext();
}
if(p.getNext().getStu().getNumber().equals(number2)){ // 查找 number1
t2 = p.getNext();
}
if(t1 != null && t2 != null){
break;
}
p=p.getNext();
}
// 临时保存t1的学生资料
Student s = t1.getStu(); // 要交换的数据是隶属于Student类中的
// 把t2节点中的学生资料赋值给t1节点
t1.setStu(t2.getStu());
// 把临时变量中的学生资料赋值给t2
t2.setStu(s);
// 以下方式为错误的写法
/*
String m1;
m1 = t1.getStu().getNumber();
String m2;
m2 = t2.getStu().getNumber();
String temp;
temp = m1;
m1 = m2;
m2 = temp;
*/
}