class ListNode{
int data;
ListNode next;
}
ListNode p;
ListNode n1=new ListNode();
ListNode n2=new ListNode();
ListNode n3=new ListNode();
n1.data=3;
n1.next=n2;
n2.data=4;
n2.next=n3;
n3.data=2;
n3.next=null;
//ポインタをn1にセット
p=n1;
//横断
while(p!=null){
System.out.println(p.data);
p=p.next;
}
ListNode p;
ListNode n1=new ListNode();
ListNode n2=new ListNode();
ListNode n3=new ListNode();
n1.data=3;
n1.next=n2;
n2.data=2;
n2.next=null;
//ポインタをn1にセット
p=n1;
//横断
while(p!=null){
System.out.println(p.data);
p=p.next;
}
System.out.println();
n3.data=4;
n3.next=null;
//挿入
n1.next=n3;
n3.next=n2;
//ポインタをn1にセット
p=n1;
//横断
while(p!=null){
System.out.println(p.data);
p=p.next;
}
ListNode p;
ListNode n1=new ListNode();
ListNode n2=new ListNode();
ListNode n3=new ListNode();
n1.data=3;
n1.next=n2;
n2.data=2;
n2.next=n3;
n3.data=4;
n3.next=null;
//ポインタをn1にセット
p=n1;
//横断
while(p!=null){
System.out.println(p.data);
p=p.next;
}
System.out.println();
//削除
n1.next=n3;
//ポインタをn1にセット
p=n1;
//横断
while(p!=null){
System.out.println(p.data);
p=p.next;
}
class SingleListNode{
int data;
ListNode next;
}
public int length() {
SingleListNode p=this.head;
int length=0;
while(p!=null) {
length++;
p=p.next;
}
return length;
}
public void insert(int pos,SingleListNode node) {
if(pos==0) {
node.next=this.head;
this.head=node;
}else {
int i=1;
SingleListNode p=this.head;
while(node!=null && i<pos) {
i++;
p=p.next;
}
node.next=p.next;
p.next=node;
}
}
public void delete(int index) {
if(this.head==null)return;
if(index==0) {
this.head=this.head.next;
}else{
int i=1;
SingleListNode p=this.head;
SingleListNode q=this.head;
while(p!=null && i<index) {
i++;
p=p.next;
q=p;
if(p==null) {
return;
}else {
q=p.next;
p.next=q.next;
}
}
}
}
public void deleteAll() {
this.head=null;
}
サンプルコード