鍊錶的常見面試題
標頭檔案宣告
#pragma once
#include
#include
#include
#include
typedef
int datatype;
typedef
struct node
node, *pnode;
void slistinit(pnode * phead); //初始化
void slistpushblack(pnode* phead, datatype data); //尾插
void slistpopblack(pnode *phead); //尾刪
void slistpushfront(pnode *phead, datatype data); //頭插
void slistpopfront(pnode *phead); //頭刪
void slistinsert(pnode phead,pnode pos, datatype data); //在鍊錶pos位置後插入值為data的新節點
void slisterase(pnode* phead, pnode pos); //刪除鍊錶pos位置上的結點
pnode slistfind(pnode phead, datatype data); // 在鍊錶中查詢值為data的元素,找到後返回值為data的結點
int slistsize(pnode phead); // 獲取鍊錶中值data的結點的個數
int slistempty(pnode phead,datatype data); // 判斷鍊錶是否為空
void slistdestroy(pnode* phead); // 銷毀聊表
void slistprint(pnode phead); //列印
pnode buyslistnode(datatype data); //分配空間
void testpush();
void test();
函式實現
#include
"slist.h"
//初始化
void slistinit(pnode *phead)
//尾插
void slistpushblack(pnode *phead, datatype data)
else
pcur->_pnext = buyslistnode(data);
}}//尾刪
void slistpopblack(pnode *phead)
//只有乙個結點
else
if (null
== (*phead)->_pnext)
//多個結點
else
free(pcur);
ptail->_pnext =
null;
}}//頭插
void slistpushfront(pnode *phead, datatype data)
//頭刪
void slistpopfront(pnode *phead)
else
}//在鍊錶pos位置後插入值為data的新節點
void slistinsert(pnode phead, pnode pos, datatype data)
else
}//刪除鍊錶pos位置上的結點
void slisterase(pnode *phead, pnode pos)
else
}// 獲取鍊錶中值data的結點的個數
int slistsize(pnode phead,datatype data)
while (pcur)
pcur = pcur->_pnext;
}return count;
}// 判斷鍊錶是否為空
int slistempty(pnode phead)
else
}// 銷毀聊表
void slistdestroy(pnode* phead)
else
}}//構建新結點
pnode buyslistnode(datatype data)
pnewnode->_data =
data;
pnewnode->_pnext=
null;
return pnewnode;
}//列印
void slistprint(pnode phead)
while (pcur)
printf("null\n");
}//查詢pos位置節點
pnode slistfind(pnode phead, datatype data)
while (pcur)
}return
null;
}//測試
void test()
//測試頭尾插
void testpush()
鍊錶的基本操作
include include include include using namespace std struct listnode void initnode listnode node bool isempty listnode head void pushfront listnode hea...
鍊錶的基本操作
鍊錶操作是最基本的 必須掌握的知識點,最好滾瓜爛熟,透徹理解。工作時間短用的也不夠頻繁,還是總結一下比較好,以加強鞏固。1.單鏈表 結點形式 區分幾個概念 首節點 第乙個元素所在節點。頭指標 指向首節點的指標。頭結點 為了操作方便,在第乙個節點之前附設的乙個結點,此時指向頭結點的為頭指標。基本操作 ...
鍊錶的基本操作。。。
include node.h 列印鍊錶 void print node head printf n 從尾部插入 void insert tail node head,const int d while t next null t next p p next null 從頭部插入 void inser...