生活随笔
收集整理的這篇文章主要介紹了
数据结构:动态数组
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
數(shù)組
- 數(shù)組的定義:數(shù)組是具有一定順序關(guān)系的若干對象組成的集合,組成數(shù)組的對象稱為數(shù)組元素
int[,] a
= new int[2, 3];int[][] b
= new int[2][];
- 數(shù)組名表示群體的共性,即具有同一種數(shù)據(jù)類型
- 下標(biāo)表示個體的個性,即各自占有獨(dú)立的單元
數(shù)組的存儲
- n維數(shù)組的定義 :下標(biāo)由n個數(shù)組成的數(shù)組稱為n維數(shù)組
int[] a
= new int[10];
int[,] a
= new int[2,3];
int[, ,] a
= new int[2,3,4];
數(shù)組存儲的特點(diǎn)
- 數(shù)組元素在內(nèi)存中按順序連續(xù)存儲
- 數(shù)組的存儲分配按照行(C,C++,C#)或列(Forturn)進(jìn)行
- 數(shù)組名表示該數(shù)組的首地址,是常量
常用數(shù)組的存儲 - 一維數(shù)組a[n]
- 二維數(shù)組a[m,n]
注:i從0變?yōu)?需要走一行也就是c*n,j從0變?yōu)?只需要走c - 三維數(shù)組a[m,n,l]
注:i從0變?yōu)?需要走一頁即n*l個元素,j從0變?yōu)?需要走l個元素,k從0變?yōu)?走一個元素
靜態(tài)數(shù)組與動態(tài)數(shù)組
靜態(tài)數(shù)組
int[] a
= new int[10];
動態(tài)數(shù)組
- 在程序運(yùn)行時分配空間的數(shù)組(聲明之后數(shù)組長度可根據(jù)問題而調(diào)整)
using System
.Collections
;
using System
;
using System
.Collections
.Generic
;
using System
.Linq
;
using System
.Text
;namespace DataStruct2020
.demo
{public class DArray<T
>where T
: IComparable
<T
>{private T
[] _array
;private int _size
;public int Size
{get { return _size
; }}public DArray(int size
) {if (size
<= 0)throw new ArgumentOutOfRangeException();_size
= size
;_array
= new T[size
];}public T this[int index
]{get{if (index
< 0 || index
> _size
- 1)throw new ArgumentOutOfRangeException();return _array
[index
];}set{if (index
< 0 || index
> _array
.Length
)throw new ArgumentOutOfRangeException();_array
[index
] = value;}}public void ReSize(int newSize
) {if (newSize
<= 0)throw new ArgumentOutOfRangeException();if (newSize
== _size
)return;T
[] temp
= new T[newSize
];int min
= _size
< newSize
? _size
: newSize
;for (int i
= 0; i
< min
; i
++) {temp
[i
] = _array
[i
];}_array
= temp
;_size
= newSize
;}}
}
總結(jié)
以上是生活随笔為你收集整理的数据结构:动态数组的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。