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("");
}
}
java版数据结构与算法—有序链表
猜你喜欢
转载自blog.csdn.net/weixin_38799368/article/details/84309855
今日推荐
周排行