class node
}public class lianbiao else
head=node;
size++;
}//頭刪
public void popfront()
head=head.next;
if(head==null)else
size--;
}//尾插
void pushback(int val)else
size++;
}//尾刪
void popback()
if(head==last)else
size--;
}//根據下標插入
public void add(int index, int val)
if(index==0)
pushfront(val);
else if(index==size)
pushback(val);
else
size++;
}//根據下標刪除
public void remove(int index)
node pos=getnode(index);
if (index < 0 || index >= size)
if (index == 0) else if (index == size - 1) else
size--;
}//找到下標用引用指向它,這裡根據下標看從前往後找到它快還是從後往前快
private node getnode(int index)
}else
}return pos;
}public int size()
public boolean isempty()
public void reset()
public static void main(string args)
}
單向鍊錶和雙向鍊錶的原理及其相關實現
其實要解決乙個問題得從以下幾個方面入手?即在日常生活中的幾大 w 鍊錶是什麼?它有什麼作用?怎麼實現?在日常生活中有哪些實際應用?只要解決了這些問題,那麼鍊錶這個問題就會很清晰明了了。一 什麼是鍊錶?鍊錶是線性表的一種,所謂的線性表包含順序線性表和鍊錶,順序線性表是用陣列實現的,在記憶體中有順序排列...
實現鍊錶及相關的方法 1
本篇部落格主要是自己實現一下鍊錶。節點類 class listnode 該鍊錶為不帶頭結點的單鏈表,並且裡邊有很多鍊錶基本操作的例項方法,下面一一介紹。public class mysignallist public void addfirst int data else 尾插法 也要分是否為第一次...
實現鍊錶及相關的方法 2
思路 下面提供兩種方法,其實大同小異,但是因為鍊錶的最後乙個元素需要指向空,如果少了這個就會出現問題。所以在方法二中,遍歷的過程就將末尾指向空。方法一 將大的資料放在x的右邊,小的資料放在x的左邊 public listnode parttition int x else else else cur...