C#常用数据结构之数组Array

C#常用数据结构之数组Array

什么是数组

在C#中,数组是一种数据结构,它可以用于存储具有相同数据类型的多个元素。数组中的元素可以通过下标来访问,数组下标从0开始,最大下标为数组长度-1。

声明和初始化数组

声明数组

声明数组需要指定数据类型和数组名称,括号中指定数组的容量。例如,声明一个包含5个整数的数组:

int[] arr = new int[5];

初始化数组

可以通过循环逐个赋值,或使用数组初始化器,直接将一组值赋给数组的元素。例如:

int[] arr = new int[5];
// 循环赋值
for (int i = 0; i < arr.Length; i++)
{
    arr[i] = i + 1;
}

// 数组初始化器
int[] arr2 = new int[] { 1, 2, 3, 4, 5 };  // 或写成 int[] arr2 = { 1, 2, 3, 4, 5 };

访问数组元素

可以通过下标来访问数组元素。例如,访问第3个元素:

int[] arr = { 1, 2, 3, 4, 5 };
int x = arr[2];  // x的值是3

数组的常用方法

Length属性

可以使用Length属性来获取数组的元素个数。例如:

int[] arr = new int[5];
int x = arr.Length;  // x的值是5

Copy方法

可以使用Copy方法来复制数组,该方法有两个参数,第一个参数是目标数组,第二个参数是要复制的元素数。例如:

int[] arr = { 1, 2, 3, 4, 5 };
int[] arr2 = new int[5];
Array.Copy(arr, arr2, 5);

Sort方法

可以使用Sort方法来对数组元素排序。例如:

int[] arr = { 3, 1, 5, 4, 2 };
Array.Sort(arr);

示例

示例1: 求平均数

以下是一个示例程序,演示如何使用数组求一组数的平均数。

using System;

class Program
{
    static void Main()
    {
        int[] arr = { 1, 2, 3, 4, 5 };
        int sum = 0;
        for (int i = 0; i < arr.Length; i++)
        {
            sum += arr[i];
        }
        double avg = (double)sum / arr.Length;
        Console.WriteLine($"平均数是{avg}");
    }
}

示例2: 去重

以下是一个示例程序,演示如何使用数组去重。

using System;

class Program
{
    static void Main()
    {
        int[] arr = { 1, 2, 1, 3, 2, 4, 5 };
        int[] arr2 = new int[arr.Length];
        int index = 0;
        for (int i = 0; i < arr.Length; i++)
        {
            if (!Contains(arr2, arr[i]))
            {
                arr2[index++] = arr[i];
            }
        }
        Array.Resize(ref arr2, index);
        Console.WriteLine(string.Join(",", arr2));  // 输出1,2,3,4,5
    }

    // 判断数组中是否包含指定的元素
    static bool Contains(int[] arr, int num)
    {
        for (int i = 0; i < arr.Length; i++)
        {
            if (arr[i] == num)
            {
                return true;
            }
        }
        return false;
    }
}

以上是关于C#常用数据结构之数组Array的完整攻略,它包含了数组的声明和初始化、访问数组元素、常用方法及两个数组的示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#常用数据结构之数组Array - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • 一行python实现树形结构的方法

    想要一行Python实现树形结构,我们需要使用Python的字典数据类型来完成任务。下面是详细的操作步骤: 创建树形结构字典 我们可以用嵌套字典来表示树形结构,我们需要选择其中一个节点作为根节点,并以键值对的形式保存其子节点。最终,我们将根节点作为整个字典的返回值。下面是实现代码: tree = lambda: defaultdict(tree) 插入节点 …

    数据结构 2023年5月17日
    00
  • NDK 数据结构之队列与栈等的实现

    NDK 数据结构之队列与栈等的实现 引言 Android NDK 是 Android 开发工具包的一部分,可以用 C 和 C++ 编写应用程序和库。NDK 带来了许多好处,例如可以针对不同的平台进行优化,可以通过调用底层 C/C++ 库实现更高效的算法等。 在本篇文档中,我们将探讨如何使用 NDK 实现一些基础的数据结构,包括队列、栈等等。 队列的实现 队列…

    数据结构 2023年5月17日
    00
  • React前端解链表数据结构示例详解

    我将为您详细讲解“React前端解链表数据结构示例详解”的完整攻略。 React前端解链表数据结构示例详解 一、前置知识 在学习本篇文章之前,您需要掌握以下前置知识: 基本的 JavaScript 语法 React 中的组件概念和生命周期 链表数据结构的基本概念和操作方法 如果您对以上知识点还不是很熟悉,可以先自学相关知识再来阅读本文。 二、链表数据结构简介…

    数据结构 2023年5月17日
    00
  • python数据结构树和二叉树简介

    下面是关于“Python数据结构树和二叉树简介”的详细攻略。 一、树的概念 树(Tree)是一种非常重要的数据结构,它是由n(n>0)个有限节点组成一个具有层次关系的集合。其中一个节点被称作根节点,它没有父节点;除根节点外,其他节点都有且只有一个父节点;每个节点可以有0个或多个子节点。一棵树的深度为树中层次最大的节点层数,根节点层次为1。 二、二叉树的…

    数据结构 2023年5月17日
    00
  • 「线段树」!(简单)的线段树

    本题为3月20日23上半学期集训每日一题中B题的题解 题面 题目描述 给你一个序列 \(A[1],A[2],…,A[n]\) .( \(|A[i]| \leq 15007, 1 \leq N \leq 50,000\) ). M( \(1 \leq M \leq 500,000\) ) 次询问,每次询问 \(Query(x, y) = Max{A[i] …

    算法与数据结构 2023年4月18日
    00
  • Java数据结构之堆(优先队列)的实现

    Java 数据结构之堆(优先队列)的实现 什么是堆(优先队列) 堆(Heap)是一种数据结构,使用数组实现。堆分为小根堆和大根堆,大根堆满足父节点值大于子节点,小根堆则相反。堆通常被用来实现优先队列(Priority Queue)。 优先队列(Priority Queue)是一个能够让用户迅速查找到队列中最小值(或最大值)的抽象数据类型(ADT)。优先队列通…

    数据结构 2023年5月17日
    00
  • C语言实题讲解快速掌握单链表下

    C语言实题讲解快速掌握单链表下 简介 单链表是常见的一种数据结构,可以存储任意数量的数据,并且可以高效的进行插入、删除和查找操作。本篇文章将介绍如何使用C语言实现单链表,以及如何应对在实现单链表时所遇到的常见问题。 实现过程 数据结构设计 为了实现单链表,我们需要设计一个数据结构来存储节点信息,一般包含两个成员,一个是数据域,用来存储实际的数据,另一个是指针…

    数据结构 2023年5月17日
    00
  • Java 数据结构算法Collection接口迭代器示例详解

    Java 数据结构算法 Collection 接口迭代器示例详解 如果你正在学习 Java 编程,那么数据结构和算法一定是一个不可避免的话题。在 Java 中,Collection 框架提供了许多有用的接口和类来管理和操作集合。其中,迭代器 Iterator 是 Collection 中最重要的接口之一,它提供了对集合元素进行迭代的方法。本文将对 Java …

    数据结构 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部