C語言 資料結構 單鏈表的基本實現

2021-09-02 17:16:10 字數 1996 閱讀 1701

typedef int elementtype;

typedef struct lnodelnode,*linklist;

/** *@function: 單鏈表的建立(包含頭結點)

*@params :

*@return :

*@note :

*/linklist linklist_creat(void)

headnode->ptr=null;

headnode->data=0;

//printf("headptr = %p\n",headptr);

//printf("headnode = %p\n",headnode);

//printf("headnode->ptr = %p\n",headnode->ptr);

//printf("headnode->data = %d\n",headnode->data);

return headnode; }

/** *@function: 單鏈表的元素--插入

*@params :

*@return :

*@note : 在第pos個位置插入元素,首先需要求出pos的直接前驅;

* 元素的插入分為在尾部直接插入,在中間插入

*/linklist linklist_insert(linklist linklist,int pos,elementtype data)

for(i=0;iptr;

} //printf("temptr=%p\n",temptr);

if(pos == (linklist->data + 1))

else

return linklist;

}/**

*@function: 單鏈表的元素--刪除

*@params :

*@return :

*@note : 在第pos個位置刪除元素,首先需要求出pos的直接前驅;

* 元素的刪除分為在尾部直接刪除,在中間刪除

*/bool linklist_delete(linklist linklist,int pos)

for(i=0;iptr;

} if(pos == linklist->data)

else

return true;

}/**

*@function: 單鏈表的元素--查詢

*@params :

*@return :

*@note :

*

*/elementtype linklist_query(linklist linklist,int pos)

for(i=1;iptr;

} printf("--query-data=%d\n",tmp->data);

printf("--data-addre=%p\n\n",tmp);

return tmp->data;

} /** *@function: 遍歷輸出鍊錶元素

*@params :

*@return :

*@note :

*/void printalldatas(linklist linklist)

printf("length=%d\n",linklist->data);

}/**

*@function: 演算法測試

*@params :

*@return :

*@note :

*/void linklist_print2test(void)

linklist_delete(linklist,8);

linklist_delete(linklist,9);

linklist_delete(linklist,1);

printalldatas(linklist);

}

資料結構 單鏈表基本操作實現 C語言

個人複習過程中的回顧,有問題請與我交流。純c語言版,未用到c 的引用 單鏈表 含頭結點 include include define elemtype int typedef int elemtype typedef struct lnodelnode,linklist linklist creat...

C語言資料結構單鏈表的實現

對於單鏈表這種結構來說,如何理解指標還有插入刪除等操作的實質是非常重要的,我今天晚上繼續完成昨天的單鏈表留下的任務,現在對於指標的指示的原理還不是那麼的清晰,這個確實比較難 不過既然已經實現了功能,就先這樣吧!include using namespace std typedef struct ln...

資料結構(c語言)單鏈表的實現

include include include using namespace std typedef int elemtype typedef struct lnodelnode,linklist 這裡的lnode是結構體的別名,不是結構變數名 而linklist是struct lnode 的別名...