資料結構與演算法 二 陣列反轉 reverse

2021-07-10 02:00:35 字數 764 閱讀 3399

前面我們提到了陣列,現在我們就以陣列來實現反轉…

如我們定義乙個陣列

int

array = ;

反轉無疑就是將陣列下標第0個元素與下標最後乙個元素互換,然後是第1個元素與倒數第2個元素的互換,依次類推…

我們設想陣列長度為基數或偶數都沒有問題…

我們需要乙個方法,在方法中就做一件事情,那就是交換元素,在交換元素過程中只要確定好下標…

ok 那我們來具體實現以下…

c++

#include 

template

int getarraylen(t& array)

template

void reverse(t& array)

}template

void output(t& array)

}int main();

reverse(array);

output(array);

return

0;}

我們看到reverse 的 while中判斷 left < right ,當left 這個小標不小於right小標是整個陣列將被反轉 …

通過上面一些簡單的講解,

相信朋友們已經知道其原理及特性了。

本人能力有限,

如發現錯誤或不合理歡迎指正…

資料結構與演算法 反轉鍊錶

定義乙個函式,輸入乙個鍊錶的頭節點,反轉該鍊錶並輸出反轉後鍊錶的頭節點。示例 輸入 1 2 3 4 5 null 輸出 5 4 3 2 1 null限制 0 節點個數 5000 本題最簡單的方法是用棧。但如果考慮到使空間複雜度最小,可以使用前後雙指標法 definition for singly l...

資料結構與演算法二

資料結構作為一門學科主要研究資料的各種邏輯結構和儲存結構,以及對資料的各種操作。因此,主要有三個方面的內容 資料的邏輯結構 資料的物理儲存結構 對資料的操作 或演算法 通常,演算法的設計取決於資料的邏輯結構,演算法的實現取決於資料的物理儲存結構。邏輯結構 是指資料物件中資料元素之間的相互關係。其實這...

資料結構與演算法(二)

函式的漸近增長 給定兩個函式 f n 和 g n 如果存在乙個整數n,使得對於所有的n n,f n 總是比g n 大,那麼我們說f n 的增長漸近快於g n 如圖 演算法時間複雜度的定義 在進行時間演算法分析時,語句總的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t ...