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 的別名...