戀上資料結構與演算法 學習筆記 動態陣列(C )

2021-10-12 08:37:24 字數 3596 閱讀 7338

2020.12.18 學習筆記,未完待續。

即將碩士畢業從事c++開發人員,修煉內功,歡迎糾錯與討論。

資料結構是計算機儲存、組織資料的方式

線性表是具有n個相同型別元素有限序列(n ≥ 0)

常用的線性表有:

陣列是一種順序儲存的線性表,所有元素的記憶體位址是連續

在很多程式語言中,陣列都有個致命的缺點:

動態陣列一般需要下面的這些介面。

**如下:

template

<

class

t>..

.int

size()

;//元素的數量

bool

isempty()

;//是否為空

bool

contains

(t element)

;//是否包含某個元素

void

pushback

(t element)

;//尾端新增元素

t at

(int index)

;//返回index位置對應的元素

t set

(int index, t element)

;//設定index位置的元素

void

add(

int index, t element)

;//往index位置新增元素

t remove

(int index)

;//刪除index位置對應的元素

intindexof

(t element)

;//檢視元素的位置

void

clear()

;//清楚所有元素..

.

無參構造呼叫有參構造,如果構造動態陣列的空間小於預設空間,則以預設空間構造動態陣列。

**如下:

template

<

class

t>

myarray

::myarray()

:myarray

(default_capacity)

template

<

class

t>

myarray

::myarray

(int capacity)

template

<

class

t>

myarray::~

myarray()

template

<

class

t>

int myarray

::size()

如果msize==0,則陣列為空。

template

<

class

t>

bool myarray

::isempty()

首先索引檢查,索引越界丟擲索引。

template

<

class

t>

void myarray

::checkindex

(int index)

然後,根據索引檢視陣列元素。

template

<

class

t>

t myarray

::at

(int index)

檢查索引,替換索引位置的元素。

template

<

class

t>

t myarray

::set

(int index, t element)

遍歷陣列,找到元素返回位置;

找不到返回-1(element_not_found)

template

<

class

t>

int myarray

::indexof

(t element)

}

根據檢視元素位置,如果包含則不等於-1.

template

<

class

t>

bool myarray

::contains

(t element)

設定msize = 0

template

<

class

t>

void myarray

::clear()

//類外實現 輸出流《過載

template

<

class

t>

ostream&

operator

<<

(ostream& arrcout, myarray

& arr)

return arrcout;

}

從前往後,向前覆蓋

}從後往前覆蓋

資料結構與演算法學習筆記

演算法基礎篇 第一章 演算法概述 首先了解一下基本的概念 1.1 什麼是演算法呢?從字面意義上理解,演算法就是用於計算的方法,用這種方法達到預期的結果。通俗的講,演算法可以理解為乙個完整的解題步驟,由一些基本的運算和規定的運算順序組成。通過這樣的解題步驟可以解決特定的問題。演算法可以抽象出5個特徵 ...

動態規劃 資料結構與演算法學習

求最值窮舉 重疊子問題 暴力窮舉效率低下 最優子結構 通過子問題最值得到原問題最值 狀態轉移方程 正確的窮舉 明確 狀態 定義dp陣列 函式的意義 明確 選擇 明確base case fibnacci數列 遞迴 intfib int n 備忘錄解法,自頂向下 intfib int n inthelp...

《戀上資料結構與演算法》筆記(七) 二叉樹

二 二叉樹 三 leetcode演算法題 跳轉到目錄 跳轉到目錄 跳轉到目錄 跳轉到目錄 跳轉到目錄 節點的高度 從當前節點到最遠葉子節點的路徑上的節點總數。樹的深度 所有節點深度的最大值。樹的高度 所有節點高度的最大值。跳轉到目錄 跳轉到目錄 跳轉到目錄 跳轉到目錄 a 真二叉樹 跳轉到目錄 b ...