//尾插法比較常用,尾插法需要利用乙個頭結點。
//頭插法不需要頭結點,但是需要乙個空指標。
#include
#include
typedef struct node
linklist;
linklist* create_front();//頭插法建立單鏈表
linklist* create_end();//尾插法建立單鏈表
void showlinklist(linklist* h);//顯示單鏈表
//printf("單鏈表顯示\n");
//showlinklist(head);
之前對頭插法的理解有些偏差,這裡做一下更正。
這裡的頭結點並不是開始使得head=null,而是head->next=null,然後在新增數值的過程中,head這個頭結點是一直向前移動的。
linklist* create_front()
return head1
->next;
}linklist* create_end()
e->next = null;
return head2->next;//尾插法比頭插法多了乙個新的指標e
}void showlinklist(linklist* h)
printf("%c", h->data);
printf("\n");
}int main(void)
*linklist,linknode;
linklist create_end();
void printlinklist(linklist &l);
void deletelinklist(linklist &l);
void addlinklist(linklist &l);
linklist create_end()
e->next = null;
return head->next;
}void deletelinklist(linklist &l)
q->next = p->next;
delete p;
}void addlinklist(linklist &l)
newnode = new linknode;
newnode->data = elem;
newnode->next = p->next;
p->next = newnode;
}void printlinklist(linklist &l)
printf("%d", p->data);
}int main(void)
資料結構鍊錶 頭插法 尾插法 雙向鍊錶
我們最近學了資料結構鍊錶中的尾插法,頭插法,雙向鍊錶 鍊錶的步驟 1.申請乙個新的節點空間 2.給新的節點賦值資訊域 3.修改這個節點的指標域,將節點連線起來 尾插法 顧名思義就是從節點的尾部進行插入,首先申請乙個節點空間,給新的節點賦值資訊域,然後修改這個 節點的指標域,寫鍊錶首先要判斷頭節點是否...
雜湊表頭插法和尾插法
頭插法 int harsh table insert node const char skey,int nvalue memset pnewnode,0,sizeof harshnode 初始化新節點 pnewnode skey char malloc strlen skey 1 申請一塊skey大...
建立單鏈表 頭插法 和 尾插法
因為markdown編譯能力有限 暫時上吧,我覺得也挺方便的 又在為自己菜找藉口了 我看著自己畫的圖就把 敲出來了,不算難。注意 實現了鏈棧的入棧之後,我發現這張圖畫的不是特別準確,表頭是不動的,一直是在表頭與第乙個節點之間插入新的節點!上 include includeusing namespac...