[問題] 資料結構裡的單向鏈結是如何儲存資料的
暑假在家自學Data Structure
算是新手中的新手
用的語言是C++
對於單向鏈結這部分一直有個疑問
就是輸進去的資料在電腦裡是如何儲存的?
像是array在存資料的時候
每筆資料是一個接著一個的儲存
然後每筆資料都有一個相對應的位址而且是有規律的
但我就不太清楚用單向鏈結這個方式儲存資料時
資料是存在哪裡?又是用什麼方式(規則)被儲存的?
他們也像array裡的資料每個都佔有一個個別的位址嗎?
目前我對單向鏈結的理解
就是它是利用 [資料 | 指向下一個位置的指標] 這樣的格式來做排序或插入資料等處理
不過每筆資料沒辦法讓我以位址的對應關係來聯想我就會覺得怪怪的......
以下附上一小段我照書上打的程式碼
void single_list::in()是用來輸入學生分數並排序的
-------------------------------------------------
typedef struct student
{
char name[20];
int ds;
struct student *next;
}Node_type;
class single_link
{
Node_type *ptr;
Node_type *head;
Node_type *tail;
Node_type *current;
Node_type *prev;
public:
single_link();
void in();
void del();
void mod();
void out();
void info();
};
void single_link::in()
{
ptr = new Node_type;
cout << "Student name:";
cin >> ptr->name;
cout << "Data structure score:";
cin >> ptr->ds;
current = new Node_type;
prev = head;
current = head->next;
while(current!=NULL && current->ds > ptr->ds)
{
prev = current;
current = current->next;
}
ptr->next = current;
prev->next = ptr;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.140.116
→
08/11 12:07, , 1F
08/11 12:07, 1F
→
08/11 12:07, , 2F
08/11 12:07, 2F
推
08/11 13:14, , 3F
08/11 13:14, 3F
→
08/11 13:15, , 4F
08/11 13:15, 4F
→
08/11 13:15, , 5F
08/11 13:15, 5F
→
08/11 15:25, , 6F
08/11 15:25, 6F
→
08/11 15:46, , 7F
08/11 15:46, 7F
→
08/11 21:48, , 8F
08/11 21:48, 8F
→
08/12 00:34, , 9F
08/12 00:34, 9F
→
08/12 11:21, , 10F
08/12 11:21, 10F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章