国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

單鏈表編程實(shí)例

單鏈表(Singly Linked List)是一種常見的數(shù)據(jù)結(jié)構(gòu),它由節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含數(shù)據(jù)和指向下一個(gè)節(jié)點(diǎn)的指針。單鏈表的特點(diǎn)是插入和刪除操作效率高,但是查找操作效率較低。單鏈表的基本操作包括

單鏈表(Singly Linked List)是一種常見的數(shù)據(jù)結(jié)構(gòu),它由節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含數(shù)據(jù)和指向下一個(gè)節(jié)點(diǎn)的指針。單鏈表的特點(diǎn)是插入和刪除操作效率高,但是查找操作效率較低。

單鏈表的基本操作包括創(chuàng)建、插入、刪除和遍歷。在創(chuàng)建單鏈表時(shí),需要定義一個(gè)頭節(jié)點(diǎn),該節(jié)點(diǎn)可以不包含數(shù)據(jù),只是作為鏈表的起始位置。插入操作包括在鏈表的某個(gè)位置插入新節(jié)點(diǎn),可以在頭部、尾部或者中間進(jìn)行插入。刪除操作則是移除鏈表中的某個(gè)節(jié)點(diǎn),同樣可以在頭部、尾部或者中間進(jìn)行刪除。遍歷操作是按順序訪問鏈表中的每個(gè)節(jié)點(diǎn),依次輸出節(jié)點(diǎn)的數(shù)據(jù)。

下面通過一個(gè)具體的編程實(shí)例來展示單鏈表的應(yīng)用。

假設(shè)有一個(gè)學(xué)生成績(jī)管理系統(tǒng),需要記錄每個(gè)學(xué)生的姓名和成績(jī)。我們可以使用單鏈表來存儲(chǔ)這些數(shù)據(jù),方便進(jìn)行增刪改查操作。

首先,定義一個(gè)節(jié)點(diǎn)結(jié)構(gòu)體,包含學(xué)生姓名和成績(jī)的信息,以及指向下一個(gè)節(jié)點(diǎn)的指針。

```cpp

struct Node {

string name;

int score;

Node* next;

};

```

然后,定義一個(gè)鏈表類,包含鏈表的頭節(jié)點(diǎn)和相關(guān)操作的方法。

```cpp

class LinkedList {

private:

Node* head;

public:

LinkedList() {

head new Node();

head->next nullptr;

}

void insert(string name, int score) {

Node* newNode new Node();

newNode->name name;

newNode->score score;

newNode->next nullptr;

Node* curr head;

while (curr->next ! nullptr) {

curr curr->next;

}

curr->next newNode;

}

void remove(string name) {

Node* prev head;

Node* curr head->next;

while (curr ! nullptr) {

if (curr->name name) {

prev->next curr->next;

delete curr;

break;

}

prev curr;

curr curr->next;

}

}

void traverse() {

Node* curr head->next;

while (curr ! nullptr) {

cout << "姓名:" << curr->name << ",成績(jī):" << curr->score << endl;

curr curr->next;

}

}

};

```

現(xiàn)在可以使用這個(gè)鏈表類來管理學(xué)生成績(jī)了。

```cpp

int main() {

LinkedList list;

("張三", 80);

("李四", 90);

("王五", 85);

("趙六", 95);

();

("李四");

();

return 0;

}

```

運(yùn)行結(jié)果如下:

```

姓名:張三,成績(jī):80

姓名:李四,成績(jī):90

姓名:王五,成績(jī):85

姓名:趙六,成績(jī):95

姓名:張三,成績(jī):80

姓名:王五,成績(jī):85

姓名:趙六,成績(jī):95

```

通過這個(gè)編程實(shí)例,我們可以看到單鏈表的插入、刪除和遍歷操作的效果。單鏈表的應(yīng)用不僅限于學(xué)生成績(jī)管理,還可以用于其他各種場(chǎng)景,如鏈表排序、鏈表合并等。

總結(jié)一下,單鏈表是一種常見的數(shù)據(jù)結(jié)構(gòu),具有高效的插入和刪除操作。通過編程實(shí)例展示了單鏈表的應(yīng)用。希望本文能夠幫助讀者理解和掌握單鏈表的概念和基本操作。