算法思路:從首元結點開始,依次計數所有節點。
① 先定義一個 指針p ,讓它指向首元結點,即 p = L->next;
② 然后讓 指針p 移向下一個結點。p = p->next;
③ 一直重復第二步,然后 i 也隨之加一,直到 p==NULL;再結束。
④ 此時 i 的值就是單鏈表的長度,
代碼部分:
int ListLength_L(LinkList L){//返回單鏈表L中數據元素個數 LinkList p;//定義一個指針p,用以指向傳入的單鏈表參數 p=L->next;//將首元結點的地址,賦值給指針p,此刻指針p指向首元結點 i=0; while(p){//遍歷單鏈表,統計節點數,p=NULL時,while循環停止。 i++; p=p->next; } return i;//返回表中元素的個數 }