sortstudentnodename.java

来自「学生信息管理系统」· Java 代码 · 共 80 行

JAVA
80
字号
/*
 * SortStudentNodeName.java
 *
 * Created on 2008年4月6日, 上午8:46
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package finaltest;

/**
 *
 * @author Administrator
 */
public class SortStudentNodeName {
    static SortStudentNodeName sortmyname;
    static int sortdiction;
    StudentNode index1,index2;
    /** Creates a new instance of SortStudentNodeName */
    public SortStudentNodeName() {
        index1 =StudentNode.head;
        for(int i =0;i<StudentNode.itemnow;i++)
        //for(;index1!=StudentNode.rear;index1 =index1.next)
            for(index2 =StudentNode.head;index2!=StudentNode.rear;index2=index2.next)
                if(index2.student.getName().compareToIgnoreCase(index2.next.student.getName())>0){
                    exchangeNode(index2,index2.next);
                    index2 =index2.prev;
                }
    }
    
    public SortStudentNodeName(int j) {
        index1 =StudentNode.head;
        for(int i =0;i<StudentNode.itemnow;i++)
        //for(;index1!=StudentNode.rear;index1 =index1.next)
            for(index2 =StudentNode.head;index2!=StudentNode.rear;index2=index2.next)
                if(index2.student.getName().compareToIgnoreCase(index2.next.student.getName())<0){
                    exchangeNode(index2,index2.next);
                    index2 =index2.prev;
                }
    }
    
    public void exchangeNode(StudentNode temp1,StudentNode temp2){
        if(temp1==StudentNode.head && temp2==StudentNode.rear){
                            temp1.prev =temp2;
                            temp2.next =temp1;
                            temp1.next =null;
                            temp2.prev =null;
                            StudentNode.head =temp2;
                            StudentNode.rear =temp1;
                            System.out.println("两个节点而且要改");
                            //index2 =index2.prev;
                        }else if(temp1==StudentNode.head){
                            temp2.next.prev =temp1;
                            temp1.next =temp2.next;
                            temp2.next =temp1;
                            temp1.prev =temp2;
                            temp2.prev =null;
                            StudentNode.head =temp2;
                            System.out.println("三个或以上,改1,2");
                        }else if(temp2==StudentNode.rear){
                            temp1.prev.next =temp2;
                            temp2.prev =temp1.prev;
                            temp1.prev =temp2;
                            temp2.next =temp1;
                            temp1.next =null;
                            StudentNode.rear =temp1;
                            System.out.println("三个或以上,改末尾");
                        }else{
                            temp1.prev.next =temp2;
                            temp2.next.prev =temp1;
                            temp1.next =temp2.next;
                            temp2.prev =temp1.prev;
                            temp1.prev =temp2;
                            temp2.next =temp1;
                            System.out.println("改中间");
                            }//else
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?