尾插法單項連結清單及周遊:
import java.util.Random;
public class mylinked {
public static void main(String[] args) {
mylinked mylinked=new mylinked();
mylinked.print(mylinked.creat(6));
}
// 分别存儲下一個節點位址和資料
public mylinked next;
public int data;
public mylinked header,tailer,newcode;
public mylinked creat (int len) {
Random random=new Random();
// 定義頭尾和新節點,且初值為空
mylinked header,tailer,newcode;
header=tailer=newcode=null;
for (int i = 0; i <len; i++) {
// 初始化新節點
newcode=new mylinked();
// 指派
newcode.data=random.nextInt(100);
if(header==null){
header=tailer=newcode;
}else{
tailer.next=newcode;
tailer=newcode;
}
}
return header;
}
public void print(mylinked header){
while(header!=null){
System.out.println(header.data);
header=header.next;
}
}
}
頭插法單向連結清單結構:
import java.util.Random;
public class mylink {
//建立連結清單類
class MLink {
//當Mlink執行個體化後形成一個連結清單的節點對象
//節點對象中的屬性
//節點存儲的屬性
private int data;
//存儲下一個連結清單節點位址的屬性
private MLink next;
/**
* 功能:建立一個連結清單,并傳回頭節點的位址
*
* @param len 建立連結清單資料的長度
* @return 傳回頭節點的位址
*/
public MLink create(int len) {
MLink header = null;
//建立随機對象
Random ra = new Random();
//生成指定長度的随機數
for (int i = 0; i < len; i++) {
//建立随機數
int num = ra.nextInt(100);
//建立一個節點對象
MLink temp = new MLink();
//存儲資料
temp.data = num;
//是否第一次建立連結清單節點
if (header == null)
header = temp;
else {
temp.next = header;
}
}
return header;
}
}
}
雙向連結清單及周遊:
public class mylinked {
public static void main(String[] args) {
mylinked mylinked=new mylinked();
mylinked.print(mylinked.creat(6));
}
// 分别存儲下一個節點位址和資料
public mylinked next;
private mylinked last;
public int data;
public mylinked header,tailer,newcode;
public mylinked creat (int len) {
Random random=new Random();
// 定義頭尾和新節點,且初值為空
mylinked header,tailer,newcode;
header=tailer=newcode=null;
for (int i = 0; i <len; i++) {
// 初始化新節點
newcode=new mylinked();
// 指派
newcode.data=random.nextInt(100);
if(header==null){
header=tailer=newcode;
}else{
// 新節點的上一個等于尾節點,尾節點的下一個值等于新節點
newcode.last=tailer;
tailer.next=newcode;
tailer=newcode;
}
}
return header;
}
public void print(mylinked header){
while(header!=null){
System.out.println(header.data);
header=header.next;
}
}
}