//=================================================
// File Name :SortedList_demo
//------------------------------------------------------------------------------
// Author :Common
//类名:SortedList
//属性:
//方法:
class SortedList{
private Link_long first;
public SortedList(){//构造函数
first = null;
}
public void insert(long key){
Link_long newLink = new Link_long(key);
Link_long previous = null;//上一次插入的值
Link_long current = first;//每插入一次,current就重新赋为表头的值
while(current != null && key > current.dData){//没进入这里,pre就是null,也就只进入下面if的上一层
previous = current;
current = current.next;//current的位置往后移动
}
if(previous == null){//最开始的情况,给first赋值为newLink,即key
first = newLink;
}else{//
previous.next = newLink;
}
newLink.next = current;
}
public long remove(){
Link_long temp = first;
first = first.next;
return temp.dData;
}
public void displayList(){
System.out.println("List (first-->last)");
Link_long current = first;
while(current != null){
current.displayLink();
current = current.next;
}
}
}
//主类
//Function : SortedList_demo
public class SortedList_demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
SortedList theSortedList = new SortedList();
theSortedList.insert(10);
theSortedList.insert(20);
theSortedList.insert(30);
theSortedList.displayList();
theSortedList.remove();
theSortedList.remove();
theSortedList.displayList();
}
}