码迷,mamicode.com
首页 > 其他好文 > 详细

链表_有序链表(插入删除遍历)

时间:2017-12-19 20:00:29      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:最大值   nbsp   插入数据   gpo   splay   ted   遍历   list   ast   

插入的节点位置有两种情况,一是有previous节点,而是没有previous节点

//链结点
public class Link {
    public long dData;
    public Link next;
    public Link(long dd) {
        dData=dd;    
    }
    public void displayLink() {
        System.out.print(dData+" ");
    }

}
public class SortedList {
    private Link first;
    public SortedList() {
        first=null;
    }
    //插入数据
    public void insert(long key) {
        Link newLink=new Link(key);
        //为找到插入点做准备
        Link previous=null;//记录插入点的左节点
        Link current=first;//记录插入点的右节点
        //寻找插入点
        while(current!=null&&key>current.dData) {//判断current!=null的原因是如果key是最大值,找不到比它大的,也需要退出循环
            //假设first端的数据是最小的
            previous=current;
            current=current.next;
        }
        //说明key是最小值
        if(previous==null)
            first=newLink;//改变first即可
        else
            previous.next=newLink;//不为空,与左侧需要连接
        
        newLink.next=current;//就算key是最大值,current会是null,这样也成立
        
    }
    //从first端删除
    public Link remove() {
        Link temp=first;
        first=first.next;
        return temp;
    }
    //遍历
    public void display() {
        System.out.println("List(Fist-->last):");
        Link current=first;
        while(current!=null) {
            current.displayLink();
            current=current.next;
        }
        System.out.println();
    }

}
public class Test {

    public static void main(String[] args) {
        SortedList theSortedList=new SortedList();
        theSortedList.insert(20);
        theSortedList.insert(40);
        theSortedList.display();
        theSortedList.insert(10);
        theSortedList.insert(30);
        theSortedList.insert(50);
        theSortedList.insert(55);
        theSortedList.display();
        theSortedList.remove();
        theSortedList.display();
    

    }

}

 

链表_有序链表(插入删除遍历)

标签:最大值   nbsp   插入数据   gpo   splay   ted   遍历   list   ast   

原文地址:http://www.cnblogs.com/S-Mustard/p/8066803.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!