日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【数据结构与算法】数组动态分配方式的思考

發布時間:2025/3/15 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数据结构与算法】数组动态分配方式的思考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

之前編寫的順序表:

在我寫的第一個順序表里面,內部維護的數組長度是定長的,為100,不存在擴容和縮容的問題。然而如果順序表儲存了較少元素,會造成空間的較多冗余;如果順序表內部數組空間滿,會發生上溢出,不過我們在線性表的project里定義了屬于順序表的ListException而不是Java自帶的“數組下標的越界異常(java.lang.IndexOutOfBoundException)”。
但是順序表不應該受到數組定長的限制,它應該能做到看起來、用起來“長度可變”(雖然實際上是數組操作實現的)。所謂的“動態分配”、“長度可變”實際上是說:如果我們需要trim來調整長度,則重新申請一塊內存,創建一個與順序表長度等長的數組,避免冗余(前提是保證不再輕易增加元素,否則還要另外開辟空間移動數據);如果數組長度不足以滿足需要,我們需要申請開辟更大的內存空間創建一個容量更大的數組,將原有元素copy過去。
動態調整容量的操作我已經在順序表2.0中調整了:

trim()的解決方案

我自己做的trim的實現代碼:

@SuppressWarnings

總結

以上是生活随笔為你收集整理的【数据结构与算法】数组动态分配方式的思考的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。