कभी-कभी हम डायनामिक मेमोरी आवंटन का उपयोग करके सरणी बनाते हैं। यदि सरणी डायनामिक मेमोरी आवंटन तकनीक का उपयोग करके आवंटित की गई है, तो हम कुछ संक्रियाएँ करके सरणी का आकार दोगुना कर सकते हैं।
मान लीजिए प्रारंभिक सरणी का आकार 5 था।
सरणी
| 0 | 1 | 2 | 3 | 4 |
| तत्व 1 | तत्व 2 | तत्व 3 | तत्व 4 | तत्व 5 |
सरणी दोहरीकरण के बाद, आकार होगा:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| तत्व 1 | तत्व 2 | तत्व 3 | तत्व 4 | तत्व 5 | तत्व 6 | तत्व 7 | तत्व 8 | तत्व 9 | तत्व 10 |
आकार n की सरणी arr के आकार को दोगुना करने के लिए, arr[0…n-1]। सबसे पहले हमें m आकार की एक नई सरणी बनानी होगी। फिर पुरानी सरणी से n तत्वों को नई सरणी में कॉपी करना होगा। अंत में arr के मान को नई सरणी की ओर इंगित करने के लिए बदलना होगा।
आकार m की सरणी बनाने में θ(m) समय लगेगा। ऐसा इसलिए है क्योंकि इसे कुछ डिफ़ॉल्ट मानों से आरंभ किया जाएगा। फिर पुरानी सरणी से नई सरणी में कॉपी करने के लिए अतिरिक्त θ(n) समय लगेगा। इसलिए संक्रियाएँ θ(m + n) समय लेती हैं। यह संक्रिया तब होती है जब सरणी भर जाती है। और आमतौर पर m का मान 2n के समान होता है। इसलिए जटिलता θ(2n + n) = θ(3n) होती है जो θ(n) के बराबर है। लेकिन यह संक्रिया महंगी मानी जाती है। हालांकि, यदि यह संक्रिया उत्तरवर्ती n पुनरावृत्तियों पर परिशोधित (amortized) हो, तो यह प्रति पुनरावृत्ति केवल θ(1) समय जोड़ती है। इसलिए हम समझ सकते हैं कि सरणी का आकार स्थिर कारक में बढ़ने से स्पर्शोन्मुख जटिलता (asymptotic complexity) पर प्रतिकूल प्रभाव नहीं पड़ता।