java版数据结构与算法—有序链表

package com.zoujc.sortLink;

/**
 * 有序链表
 */
class Link {
    public int dData;
    public Link next;
    public Link(int dd){
        dData = dd;
    }
    public void display(){
        System.out.print(dData + " ");
    }
}
class SortedLink{
    public Link first;
    public SortedLink(){
        first = null;
    }
    public SortedLink(Link[] linkArr){
        first = null;
        for (int i=0;i<linkArr.length;i++){
            insert(linkArr[i]);
        }
    }
    public void insert(Link k){
        Link previous = null;
        Link current = first;
        while (current != null && k.dData > current.dData){
            previous = current;
            current = current.next;
        }
        if(previous == null){
            first = k;
        }else {
            previous.next = k;
        }
        k.next = current;
    }
    public Link remove(){
        Link temp = first;
        first = first.next;
        return temp;
    }
    public void display(){
        System.out.print("List:");
        Link current = first;
        while (current != null){
            current.display();
            current = current.next;
        }
        System.out.println();
    }
}
class LinkInsertionSortApp{
    public static void main(String[] args){
        int size = 10;
        Link[] links = new Link[size];
        for (int i=0;i<size;i++){
            int n = (int) (Math.random()*99);
            Link link = new Link(n);
            links[i] = link;
        }
        System.out.print("未排序:");
        for (int i=0; i<size;i++){
            System.out.print(links[i].dData + " ");
        }
        System.out.println("");
        SortedLink sortedLink = new SortedLink(links);
        sortedLink.display();
        System.out.print("按顺序删除:");
        for (int i=0;i<size;i++){
            links[i] = sortedLink.remove();
        }
        for (int i=0; i<size;i++){
            System.out.print(links[i].dData + " ");
        }
        System.out.println("");
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_38799368/article/details/84309855