生活随笔
收集整理的這篇文章主要介紹了
数据结构:动态数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
數組
- 數組的定義:數組是具有一定順序關系的若干對象組成的集合,組成數組的對象稱為數組元素
int[,] a
= new int[2, 3];int[][] b
= new int[2][];
- 數組名表示群體的共性,即具有同一種數據類型
- 下標表示個體的個性,即各自占有獨立的單元
數組的存儲
- n維數組的定義 :下標由n個數組成的數組稱為n維數組
int[] a
= new int[10];
int[,] a
= new int[2,3];
int[, ,] a
= new int[2,3,4];
數組存儲的特點
- 數組元素在內存中按順序連續存儲
- 數組的存儲分配按照行(C,C++,C#)或列(Forturn)進行
- 數組名表示該數組的首地址,是常量
常用數組的存儲 - 一維數組a[n]
- 二維數組a[m,n]
注:i從0變為1需要走一行也就是c*n,j從0變為1只需要走c - 三維數組a[m,n,l]
注:i從0變為1需要走一頁即n*l個元素,j從0變為1需要走l個元素,k從0變為1走一個元素
靜態數組與動態數組
靜態數組
int[] a
= new int[10];
動態數組
- 在程序運行時分配空間的數組(聲明之后數組長度可根據問題而調整)
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
;}}
}
總結
以上是生活随笔為你收集整理的数据结构:动态数组的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。