單鏈表的遍歷:
中間/尾插入:
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個位置處的元素,賦值給...