C 資料結構選擇

2022-08-28 22:42:24 字數 904 閱讀 5809

選擇乙個合適的資料結構會對程式的效能有著顯著的提高

線性表和鍊錶:

1、linkedlist:適合於元素陣列不固定,存在大量列表的頭尾新增動作場合。其它可使用list。

2、arra:元素數量固定,需要用到檢索(即索引器)。

3、list:元素數量不固定,需要用到索引器。

棧和佇列(只有在模擬棧和佇列時才考慮):

1、stack (stack):當需要實現 lifo(last in first out)時。

2、queue (queue):當需要實現 fifo(first in first out)時。

雜湊(需要大規模查詢):

1、hash table (dictionary):當需要使用鍵值對(key-value)來快速新增和查詢,並且元素沒有特定的順序時。有了泛型版本的字典,我們幾乎永遠不需要使用非泛型的hashtable

2、tree-based dictionary (sorteddictionary):當需要使用鍵值對(key-value)來快速新增和查詢,並且元素總是需要根據key來排序時。

集合(儲存一組唯一的值/模擬集合運算):

1、hash table based set (hashset):當需要儲存一組唯一的值,並且元素沒有特定順序時。

2、tree based set (sortedset):當需要儲存一組唯一的值,並且元素總是需要排序時。

樹:

參考風口上的豬.net面試系列文章

選擇排序 C語言資料結構

include include void swap int p1,int p2 void select sort int a,int n 函式功能 使用選擇排序法進行排序 從小到大 函式原型 void select sort int a,int n 函式引數 int a 陣列名 int n 排序元素...

資料結構 直接選擇排序(c )

straightselectsorter.h 直接選擇排序類 include sorter.h template record class straightselectsorter public sorter 直接選擇排序,array為待排序陣列,n為陣列長度 template record voi...

資料結構 選擇排序

選擇排序是一種比較直觀的排序方法 選擇排序的思想在於 預設公升序排序 在乙個陣列當中,選擇這個陣列當中最小的元素,將這個元素放在第一位,然後尋找第二小的元素,將這個元素放在第二位。以此類推,直到將這個陣列完成排序。這是乙個比較直觀的排序方法 選擇排序 演算法思想 在遍歷陣列的時候 找出陣列當中最小的...