C 學習之鍊錶

2021-08-28 08:53:24 字數 2322 閱讀 4837

1.1建立與遍歷鍊錶

#includeusing namespace std;

struct student ;

student * head;//定義頭結點

student*create()

pend->next = null;

delete ps;

return head;

}void showlist(student*head)

}int main()

建立三個結構體指標:head, pend, ps ,用來表示頭結點,和兩個用於傳遞和連線的結點指標。當 ps 指向的結點被賦值之後, pend 便會將目前指向的結點的尾指標指向 ps ,之後再將自身指向 ps 用於取代,之後 ps 重新分配空間,指向下乙個將要被賦值的地方,完成傳遞。

1.2 刪除鍊錶結點

#includeusing namespace std;

struct student ;

student * head;//定義頭結點

student*create()

pend->next = null;

delete ps;

return head;

}void showlist(student*head)

}void delete(student*head, long number)

if (head->number == number)

for (student*pguard = head; pguard->next; pguard = pguard->next)

} cout << number << " is not found!\n";

}int main()

1.3插入鍊錶結點

#includeusing namespace std;

struct student ;

student * head;//定義頭結點

student*create()

pend->next = null;

delete ps;

return head;

}void showlist(student*head)

}void insert(student*head, student*stud) //在原鍊錶按資料從小到大排列的情況下依次序插入資料

if (head->number > stud->number)

student*pguard = head;

while (pguard->next&&pguard->next->number < stud->number)

pguard = pguard->next;

stud->next = pguard->next;

pguard->next = stud;

}int main()

1.4 josephus 問題

// josephus 問題

#include#includeusing namespace std;

struct jose ;

int main()

itemsinline = 0;//格式

jose*pivot;//定義哨兵指標

pcurrent = &pjose[numofboys - 1];//做好數的準備,若以第乙個元素為起始

while (pcurrent->next != pcurrent)

if (itemsinline++ % 10 == 0)

cout << endl;

cout << setw(4) << pcurrent->code;

pivot->next = pcurrent->next;

pcurrent = pivot;//點到的小孩脫鏈

} cout << "\n\nthe winner is "

<< pcurrent->code << endl;

deletepjose;

return 0;

}

在c++中,setw(int n)用來控制輸出間隔。//轉

設定輸出幾個字元的格式(靠右),比如int i = 10,你要輸出i如果setw(20),那麼 i 的前面有18個空格。

例如:cout<<'s'《若輸入的內容超過setw()設定的長度,則按實際長度輸出。setw()預設填充的內容為空格,可以setfill()配合使用設定其他字元填充。

cout<

c 學習之鍊錶

一 建立鍊錶 鍊錶的遍歷 將三個學生的資訊以鍊錶形式表達 include using namespace std struct student message 首先定義乙個結構體,包含名字 年齡 下乙個人的位址 void main 3 定義第三個學生,這個節點是尾節點,不再指向下乙個節點 stude...

C 之鍊錶操作

1 鍊錶題 乙個鍊錶的結點結構 struct node typedef struct node node 1 已知鍊錶的頭結點head,寫乙個函式把這個鍊錶逆序 intel node reverselist node head 鍊錶逆序 p2 next p1 head p2 return head ...

易學c 鍊錶學習

通過 易學c 學習的鍊錶理解的總結 在書中對鍊錶的實現和操作做了乙個形象的描述,首先介紹鍊錶是乙個順序相連線的鏈條,類似於自行車車鏈,一環套一環,鍊錶是乙個單向可遍歷的,只能通過從頭開始,逐個遍歷的過程來實現鍊錶節點 node 的查詢過程。實現鍊錶,首先要明晰乙個節點的概念,乙個節點,首先要有乙個儲...