當前位置:
首頁 >
【数据结构与算法】数组动态分配方式的思考
發布時間:2025/3/15
32
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【数据结构与算法】数组动态分配方式的思考
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
概述
之前編寫的順序表:
在我寫的第一個順序表里面,內部維護的數組長度是定長的,為100,不存在擴容和縮容的問題。然而如果順序表儲存了較少元素,會造成空間的較多冗余;如果順序表內部數組空間滿,會發生上溢出,不過我們在線性表的project里定義了屬于順序表的ListException而不是Java自帶的“數組下標的越界異常(java.lang.IndexOutOfBoundException)”。
但是順序表不應該受到數組定長的限制,它應該能做到看起來、用起來“長度可變”(雖然實際上是數組操作實現的)。所謂的“動態分配”、“長度可變”實際上是說:如果我們需要trim來調整長度,則重新申請一塊內存,創建一個與順序表長度等長的數組,避免冗余(前提是保證不再輕易增加元素,否則還要另外開辟空間移動數據);如果數組長度不足以滿足需要,我們需要申請開辟更大的內存空間創建一個容量更大的數組,將原有元素copy過去。
動態調整容量的操作我已經在順序表2.0中調整了:
trim()的解決方案
我自己做的trim的實現代碼:
@SuppressWarnings總結
以上是生活随笔為你收集整理的【数据结构与算法】数组动态分配方式的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【JavaScript】Canvas绘制
- 下一篇: 管理软件实施(2)——开发包括哪些成本