java循环单链表比较相等_java的循环单链表
packageclink;//循環(huán)單鏈表
public classTestClink {public static voidmain(String[] args) {//TODO Auto-generated method stub
Clink t1 = newClink();for(int i = 0;i<9;i++){
t1.insertHead(i);
}
t1.show();int len=t1.getlength();
System.out.println(len);
System.out.println("---");
t1.insertTail(5);
t1.insertTail(5);
t1.show();
System.out.println("---");
t1.delete(5);
t1.show();
}
}classClink{classEntry{intdata;
Entry next;publicEntry(){this.data=-1;this.next=null;
}public Entry(intdata){this.data=data;this.next=null;
}
}private Entry head=null;publicClink(){this.head=newEntry();this.head.next=this.head;
}
//頭插法public void insertHead(intval){
Entry entry=newEntry(val);
entry.next=this.head.next;this.head.next=entry;
}
//尾插法public void insertTail(intval){
Entry cur=this.head;//定義一個(gè)節(jié)點(diǎn)用來(lái)尋找鏈表的尾結(jié)點(diǎn)
while(cur.next!=this.head){
cur=cur.next;
}
Entry entry=new Entry(val);//定義要插入的節(jié)點(diǎn)
entry.next=cur.next;
cur.next=entry;
}public booleanisEmpty(){
Entry cur=this.head;if(cur.next!=this.head){return false;
}return true;
}
刪除值為5的所有節(jié)點(diǎn)public boolean delete(intval){//此時(shí)刪除5
Entry prev=this.head;
Entry cur=this.head.next;if(isEmpty()){return false;
}while(cur!=this.head){if(cur.data==val){
prev.next=cur.next;
cur=prev.next;
}else{
prev=cur;
cur=cur.next;
}
}return true;
}/*public void delete(int val){
Entry prev=this.head;
Entry cur=this.head.next;
while(cur!=this.head){
if(cur.data==val){
prev.next=cur.next;
cur=prev.next;
}else{
prev=cur;
cur=cur.next;
}
}
}*/
public intgetlength(){
Entry cur=this.head;int len=0;while(cur.next!=head){
len++;
cur=cur.next;
}returnlen;
}public voidshow(){
Entry cur=this.head.next;while(cur!=this.head){
System.out.println(cur.data+"data");
cur=cur.next;
}
System.out.println();
}
}
總結(jié)
以上是生活随笔為你收集整理的java循环单链表比较相等_java的循环单链表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: sql语法,未完待续
- 下一篇: 提升谷歌chrome浏览器下载速度的方法
