zoukankan      html  css  js  c++  java
  • 链表_有序链表(给数组排序-应用)

    //链结点
    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(Link[] linkArr) {
            first=null;
            for(int j=0;j<linkArr.length;j++) {
                insert(linkArr[j]);
            }
        }
        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;
            
            
        }
        //从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) {
            int size=10;
            Link[] linkArray=new Link[size];
            for(int j=0;j<size;j++) {
                int n=(int)(java.lang.Math.random()*99);
                Link newLink=new Link(n);
                linkArray[j]=newLink;
            }
            System.out.print("unsorted array:");
            for(int j=0;j<size;j++) {
                System.out.print(linkArray[j].dData+" ");
            }
            System.out.println();
            SortedList theSortedList=new SortedList(linkArray);
            theSortedList.display();
            System.out.println("sorted Array:");
            for(int j=0;j<size;j++) {
                linkArray[j]=theSortedList.remove();
            }
            for(int j=0;j<size;j++) {
                System.out.print(linkArray[j].dData+" ");
            }
            
            
            
            
        }
    }
  • 相关阅读:
    pandas常用操作
    python读取文件并写入内容到文件
    《软件工程》学习进度博客13
    01梦断代码读后感1—上帝游戏
    软件工程学习进度博客12
    《软件工程》个人作业5----单词统计
    用户模板和用户场景
    软件工程学习进度博客11
    PHP学习3:简单的流程控制
    《软件工程》个人作业6---找水王
  • 原文地址:https://www.cnblogs.com/S-Mustard/p/8066921.html
Copyright © 2011-2022 走看看