1.【定義】
單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成:元素(資料元素的映象) + 指標(指示後繼元素儲存位置),元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。
2.【示例**】
singlylinkedlist.h
#define ok 1
#define error 0
typedef int datatype;
typedef struct node
node(datatype x) :_data(x), _next(null) {}
}lnode, *linklist;
class linkedlist
;
singlylinkedlist.cpp
linkedlist::linkedlist()
void linkedlist::createlinklist(datatype n)
for (int i = 0; i < n; ++i) }
void linkedlist::showlinklist()
linklist p = head; //另指標指向頭結點
cout << endl;
}int linkedlist::getlength()
return count; //返回count的資料
}bool linkedlist::isempty()
return false;
}lnode* linkedlist::find(datatype data)
else
p = p->_next;
} cout << "查無資料" << endl;
return null; //未查找到結果 }}
void linkedlist::insertelematend(datatype data) //尾插
while (p->_next != null)
newnode->_next = p->_next;
p->_next = newnode;
}void linkedlist::insertelematindex(datatype data, int index)
else
ptemp->_next = p->_next; //將新節點插入到指定位置
p->_next = ptemp; }}
void linkedlist::insertelemathead(datatype data)
newnode->_next = p->_next; //將新節點插入到指定位置
p->_next = newnode;
}void linkedlist::deleteelematend()
else
delete p; //刪除尾部節點
p = null;
ptemp->_next = null; }}
void linkedlist::deleteall() //刪除所有資料
if (p->_next == null)
while (p->_next != null) //在頭結點的下乙個節點逐個刪除節點
head->_next = null; //頭結點的下乙個節點指向null
}void linkedlist::deleteelematpoint(datatype data) //刪除指定的資料
if (ptemp == head->_next)
else
p->_next = ptemp->_next; //刪除指定位置的節點
delete ptemp;
ptemp = null; }}
void linkedlist::deleteelemathead() //在頭部刪除節點
else }
linkedlist::~linkedlist()
main.cpp
int main()
3.【測試結果】
c 實現單鏈表的操作
include using namespace std define null 0 class node 節點類 建構函式 node int n 建構函式 node int n,node p void setnum int n 資料和指標兩個屬性分開操作 void setnext node p in...
單鏈表基礎操作C 實現
最近在複習資料結構,就把單鏈表的基礎操作過了一篇 node.h標頭檔案 templatestruct node node t nval 單鏈錶類檔案 include include node.h include using namespace std templateclass singlelink...
C 實現單鏈表的基本操作
結點類 關鍵處在c語言中用指標來指向下乙個節點,c 是物件導向的,用節點類的乙個屬性 next屬性 來指向下乙個節點物件 public class linknode set private linknodenext public linknodenext set endregion public l...