秩序チェーンテーブル
3801 ワード
public class Link {
public long lData;
public Link next;//reference to next Link
public Link(long lData){
this.lData=lData;
}
public void displayLink(){
System.out.print("{"+lData+"}");
}
}
public class SortedList {
private Link first;
public SortedList(){
first =null;
}
public boolean isEmpty(){
return (first==null);
}
public void insert(long key){
Link newLink =new Link(key);
Link previous=null;
Link current =first;
while(current!=null && key>current.lData){
previous=current;
current=current.next;
}
if(previous==null){
first=newLink;
}
else{
previous.next=newLink;
}
newLink.next=current;
}
public Link remove(){
Link temp = first;
first=first.next;
return temp;
}
public void displayList(){
Link current =first;
while(current!=null){
current.displayLink();
current=current.next;
}
}
}
public class SortedListApp {
/** * @param args */
public static void main(String[] args) {
// TODO Auto-generated method stub
SortedList theSortedList = new SortedList();
theSortedList.insert(20);
theSortedList.insert(40);
theSortedList.displayList();
theSortedList.insert(10);
theSortedList.insert(30);
theSortedList.insert(50);
theSortedList.displayList();
theSortedList.remove();
theSortedList.displayList();
}
}