實現鍊錶的增加、刪除、查詢和反轉
class link
public void display()
} class linklist
//插入頭節點
public void insertfirst(int data)
//刪除頭結點
public link deletefirst()
//查詢
public link find(int key)else
}return current;
} //刪除任意節點
public link delete(int key)else
} if(current==first)else
return current;
} //反轉鍊錶-迴圈
public void reverse()
} //反轉鍊錶-遞迴
public link recreverse(link current)
nextlink=current.next;
link rec=recreverse(nextlink);
nextlink.next=current;
return rec;
}}
判斷鍊錶中是否存在迴路,快慢指標法
//判斷是否存在迴路-快慢指標
public boolean isloop()
return false;
}
C 鍊錶 實操
一 鍊錶的基礎操作 1.定義乙個鍊錶 struct listnode 2.建立乙個基礎鍊錶 長度為n listnode create normal list int n end next null 尾節點最後指向乙個新的空位址 head last null 頭節點的前一位不存在 return hea...
LeetCode 92 25 23 鍊錶的有關操作
一 92.反轉鍊錶ii 思路即分別定位第m個和第n個結點 若不存在,則直接返回首結點 從m到n 1,摘下每乙個結點,並插入到第n個結點之後 definition for singly linked list.struct listnode class solution pm ptr while i ...
鍊錶的基本操作
include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...