單向鍊錶
單向鍊錶的每乙個結點都用乙個結構表示,該結構由資料和指向該結構的指標組成。
*乙個double型別的單向鍊錶結點
typedef struct node
node;
*乙個自定義資料型別的單向鍊錶結點
typedef struct book
book;
typedef struct a_node_of_book_list
a_node_of_book_list;
雙向鍊錶
typedef struct node
node;
typedef struct a_node_of_book_list
a_node_of_book_list;
迴圈鍊錶
在迴圈鍊錶中,最後乙個結點的next指標指向第乙個結點
typedef struct node
;如何在單向鍊錶的末尾插入乙個結點
*為新結點分配空間
*檢查該結點是否為第乙個結點
node* push_back(node *last,int info)
//如果它不是第乙個結點
else
//返回鍊錶的末尾
return p;}}
如何在單向鍊錶首部插入結點
node* push_front(node *h,int info)
如何得到單向鍊錶的第乙個元素
int front_element(node *h)
node* first(node *h)
如何得到單向鍊錶的最後乙個元素
int back_element(node *h)
node* last(node *h)
遍歷單向鍊錶
void display(node *h)
計數單向鍊錶中結點的個數
int count(node *h)
}如何得到單向鍊錶中資料項的頻率
//函式返回特定元素的頻率
int frequency(node *h,int value)
如何搜尋單向鍊錶中特定的資料項
//函式返回變數s在鍊錶中的位置
int searchindex(node *h,int s)
if(search_status == found)
return c;
else
//資料項未找到,返回不可能的位置-1
return -1;}}
如何得到單向鍊錶中特定結點的位址
//函式返回特定位置變數的位址
node* get_address(node *h,int index)
return p;
}如何在單向鍊錶的特定位置後插入節點
node* insert(node *h,int location,int info)
q->next = p->next;
p->next = q;
q->data = info;
}return r;
}如何得到單向鍊錶的最大元素
int findmax(node *h)
return max;
}如何得到單向鍊錶的最小元素
int findmin(node* h)
return min;
}使用給定值編輯特定結點的內容
node* replace(node *h,int location,int info)
q = p->next;
q->next = p->next->next;
q->data = info;
}//返回頭結點指標
return r;
}//根據位置得到結點的值
int get_value(node* h,int index)
合併兩個鍊錶
例鍊錶 11=12,13,14,15 12=16,17,18,19
如果想要合併成12,13,18,19 則merge(11,12,1,2,3,4)
如果想要合併成12,13,14,15,16,17,18,19 則merge(11,12,1,count(11),1,count(12))
node* merge(node *list_1,node *list_2,int start_1,int finish_1,int start_2,int finish_2)
資料結構學習記錄 1
1.資料結構是相互之間存在一種或對多種特定關係的資料元素的集合。2.在任何問題中,資料元素都不是孤立存在的,而是在他們之間存在著某種關係,這種資料元素之間的關係叫做結構 3.根據資料元素之間關係的不同特性,通常有4類基本結構 a.集合 結構中的資料元素之間除了 同屬於用乙個集合 的關係外,沒有其他關...
資料結構學習 鍊錶
將從下面4部分進行介紹 首先介紹鍊錶是什麼,然後介紹為什麼定義鍊錶,接著是鍊錶的分類,最後簡單介紹一下鍊錶結點的插入與刪除方法。首先,在介紹鍊錶之前,我們先介紹一下什麼是順序儲存結構。我們知道資料在計算機中的儲存就像貨物在倉庫中的儲存一樣,不但占用一定的空間,還要有乙個標示儲存位置的位址。計算機通過...
資料結構學習 鍊錶
由於不必須按順序儲存,鍊錶在插入的時候可以達到o 1 的複雜度,比另一種線性表順序表快得多,但是查詢乙個節點或者訪問特定編號的節點則需要o n 的時間,而線性表和順序表相應的時間複雜度分別是o logn 和o 1 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶...