日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构:动态数组

發(fā)布時間:2024/8/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构:动态数组 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)組

  • 數(shù)組的定義:數(shù)組是具有一定順序關(guān)系的若干對象組成的集合,組成數(shù)組的對象稱為數(shù)組元素
int[,] a = new int[2, 3];//定義一個兩行散列的數(shù)組//靜態(tài)數(shù)組int[][] b = new int[2][];//定義行數(shù),列數(shù)可變
  • 數(shù)組名表示群體的共性,即具有同一種數(shù)據(jù)類型
  • 下標(biāo)表示個體的個性,即各自占有獨(dú)立的單元

數(shù)組的存儲

  • n維數(shù)組的定義 :下標(biāo)由n個數(shù)組成的數(shù)組稱為n維數(shù)組
int[] a = new int[10];//一維數(shù)組 int[,] a = new int[2,3];//二維數(shù)組 int[, ,] a = new int[2,3,4];//三維數(shù)組

數(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ù)組

  • 在程序編譯時分配空間的數(shù)組
int[] a = new int[10];//靜態(tài)數(shù)組(聲明之后數(shù)組長度不可改變)

動態(tài)數(shù)組

  • 在程序運(yùn)行時分配空間的數(shù)組(聲明之后數(shù)組長度可根據(jù)問題而調(diào)整)
using System.Collections;//定義好了各種集合類 //ArrayList

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)容還不錯,歡迎將生活随笔推薦給好友。