标签:
有序链表的用途
有序链表主要用途就是用于排序,大家都知道,数组的插入排序算法,排序的时候需要大量的复制数据,这样效率就会很低,用有序链表实现无序数组的排序这样可以减少
很多次的数据的复制。效率大大提高。
package 有序链表; public class Link { public double dd; public Link next; public Link(double dd){ this.dd = dd; } //打印节点的方法 public void displayLink(){ System.out.print("["+dd+"]"); } } ---------------------------------------------------------------------------------- package 有序链表; public class SortList { private Link first; public SortList(){ first = null; } //插入节点的实现 public void insert(double dd){ Link newLink = new Link(dd); Link current = first; Link previous = null; while(current != null && dd > current.dd){ 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; } System.out.println(); } } ------------------------------------------------------------------------- package 有序链表; public class SortListApp { public static void main(String[] args) { SortList theList = new SortList(); theList.insert(20); theList.insert(50); theList.insert(30); theList.insert(35); theList.insert(15); theList.displayList(); } }
标签:
原文地址:http://www.cnblogs.com/aicpcode/p/4256984.html