Java数据结构——有序链表
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; } } } 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(); } }
本文只发表于博客园和tonglin0325的博客,作者:tonglin0325,转载请注明原文链接:https://www.cnblogs.com/tonglin0325/p/5339156.html