#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)
int getnum()
node *getnext()
//~node();
private:
int num;
node *next;
};class linklist//鍊錶類
linklist(int n)
void addatend(int n); //資料和指標分開操作
void addatend(node *p);
void visitallnode();
void insert(node *p, int num);
void deletenum(int num);
private:
node *head;
};void linklist::addatend(int n)//若head=null就是採用尾插法建立單鏈表,也可以採用頭插法。
else
p->setnext(new node(n));//表尾插入元素值。}}
void linklist::addatend(node *p) //表尾設定指標。比c看起來複雜繁瑣些,
//這就是面相對像程式設計的思想精髓。但複雜問題這種思想的好處就體現出來了
else
pn->setnext(p);}}
void linklist::visitallnode()//遍歷鍊錶
else
cout << p->getnum() << endl;}}
void linklist::insert(node *p, int num)
while (pn->getnum() != num&&pn->getnext() != null)
if (pn->getnum() == num&&pn == head)//如果是頭結點
else if (pn->getnum()==num)
else
}void linklist::deletenum(int num)
else
if (p->getnum() == num)}}
void main()
else
pl->visitallnode();
break;
case '3':
cout << "請輸入插入的節點值:";
cin >> num;
cout << "請輸入要插入到哪個節點前:";
cin >> n;
pl->insert(new node(num), n);
pl->visitallnode();
break;
case '4':
cout << "請輸入要刪除的節點:";
cin >> num;
pl->deletenum(num);
pl->visitallnode();
break;
case '5':
pl->visitallnode();
break;
default:
cout << "你輸入錯誤,請重新輸入!" << endl;
C 實現單鏈表的操作
1.定義 單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。鍊錶中的資料是以結點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。2.示例 singlylinkedlist.h def...
單鏈表基礎操作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...