一些單鏈表的東西

2021-05-25 21:45:08 字數 860 閱讀 1538

單鏈表的遍歷:

中間/尾插入:

q=new node(x);

q->next=p->next;

p->next=q;

一句話:p->next=new node(x, p->next(null))

頭插入:

node*q=new node(x);

q->next=head;

head=q;

一句話:head=new node(x, head);

單鏈表插入:

node*singlylinkedlist::insert(int i, t x)

{    node*q=null;

if(head==null || i<=0)

{    q=new node(x, head);

head=q;

else

{  int j=0

node*p=head;

while(p->next!=null && j{    j++;

p=p->next;

q=new node(x, p->next);

p->next=q;

return q;

用尾插入的方法構造鍊錶:

singlylinkedlist::singlylinkedlist(t value, int n)

{     head=null;

if(n>0)

{      head=new noed(value[0]);

node*rear=head;

int i=1;

while(i{    rear->next=new node(value[i++])

rear=rear->next;

單鏈表的一些見解

關於q next p next和q p next的理解 假令 q為結點1,p為結點2,即q的物理儲存位址為00293590,q中指標域中儲存位址為00293558,q中資料域為11 即p的物理儲存位址為00293558,q中指標域中儲存位址為00293448,q中資料域為12 q next p ne...

單鏈表的一些操作

1 有頭結點方便對首元資料元素的刪除,插入操作。不帶頭結點要判斷是不是作用在首元,是就得改變頭指標指向。2 頭結點資料域可以存表長。head data k 1 取倒數第k個元素。兩遍。走一遍,定義兩個指標,先走乙個,使兩個之間相差k個位置,再一起移動,走得快的的走到空了,走得慢的的資料域就是指定元素...

單鏈表的一些常用操作

include include include define ok 1 define error 0 define true 1 typedef struct lnodelnode,linklist linklist是結構指標,在下面定義結構體指標的時候不能夠加 獲得單鏈表第i個位置處的元素,賦值給...