📄 list.java
字号:
package 链表的有序插入soft20new;
public class List
{
private Node Head=null;
//private Node Tail=null;
private Node Pointer=null;
private int Length=0;
public void deleteAll()
{
Head=null;
//Tail=null;
Pointer=null;
Length=0;
}
public void reset()
{
Pointer=null;
}
public boolean isEmpty()
{
return(Length==0);
}
public int nextNode()
{
return (Pointer.next.data);
}
public int currentNode()
{
return (Pointer.next.data);
}
public void insert(int i)
{
Node a=new Node(i);
if(Length==0)
{
Head=a;
//Tail=a;
Pointer=a;
}
else{
a.next=Pointer.next;
Pointer.next=a;
Pointer=a;
//Node temp=cursor();
//a.next=temp;
//if(Pointer==null)
//Head=a;
//else
//Pointer.next=a;
}
Length++;
}
public void output(List list)
{
Node temp=new Node(0);
temp=list.Head;
if(list.Head==null)
{
System.out.print("null");
}
while(temp!=null)
{
System.out.print(" "+temp.data);
temp=temp.next;
}
}
/* private Node cursor()
{
if(Head==null)
throw new java.lang.NullPointerException();
else if(Pointer==null)
return Head;
else return Pointer.next;
}*/
public static void main(String arg[])
{
List list=new List();
ConsoleReader reader=new ConsoleReader(System.in);
while(true)
{
System.out.println("input:");
int i=reader.readInt();
list.Pointer=list.Head;
while(true)
{
if(list.Head==null){ list.insert(i);
break;
}
if(list.Head!=null&&list.Head.data>i)
{
Node a=new Node(i);
a.next=list.Head;
list.Head=a;
break;
}
//list.output(list);
if(list.Pointer.next==null||list.Pointer.next.data>=i)
{
list.insert(i);
break;
}
else list.Pointer=list.Pointer.next;
}
list.output(list);
System.out.println("");
}
}
}
class Node
{
int data;
Node next;
//Node previous;
Node (int d)
{
data =d;
next=null;
//previous=null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -