C#数组

数组是一种数据结构,用于处理多个相同类型的数据元素.数组的声明(以int型为例): int[] 数组名 = new int[数组长度];

对数组的元素进行排序,常见的排序算法是冒泡排序—在面试中经常出现

而C#程序当中对数组元素进行排序可以直接调用Array类中的方法:

Array.Sort(数组名) //对数组进行升序排序

Array.Recerse(数组名) //交换数组元素的位置,eg: 第一个与最后一个换,以此类推

还有其他方法...查看帮助文档.


冒泡排序: 基本思想是从一个元素开始,依次向后进行比较,符合条件的话就进行交换;

eg: {3,2,8}  进行升序排序  第一趟:3与2比,交换符合升序则进行交换 ; 然后3与8比,交换不符合升序,则不进行交换 ; 比较结束 , 最终结果为; {2,3,8} ;

代码实现: 使用for循环嵌套进行解决

//第二重for的循环条件是关键,每一趟排序之后都不用去比较由上一趟比较完的元素,

//因为已经排好序,所以减i

for(int i = 0;i < 数组名.Length ; i++)//对数组进行冒泡排序

{

for(int j = 0;j < 数组名.Length-i-1 ; j++)

{

if(数组名[j] > 数组名[j+1])

{

int temp = num[j];

num[j] = num[j+1];

num[j+1] = temp;

}

}

}

C# 中,数组是一种用于存储固定大小的同类型数据集合的数据结构。使用数组可以高效地处理多个相同类型的数据项。以下是 C# 数组的常见操作和使用方法: ### 声明和初始化数组C# 中,可以通过多种方式声明和初始化数组: - **一维数组**:`int[] numbers = new int[5];` 创建一个包含 5 个整数的一维数组。 - **直接初始化**:`int[] numbers = {1, 2, 3, 4, 5};` 在声明时初始化数组元素。 ### 访问数组元素 数组中的每个元素都可以通过索引访问,索引从 `0` 开始。例如: ```csharp int[] numbers = {1, 2, 3, 4, 5}; Console.WriteLine(numbers[0]); // 输出第一个元素 1 ``` ### 修改数组元素 可以直接通过索引修改数组中的元素值: ```csharp numbers[0] = 10; // 将第一个元素修改为 10 ``` ### 遍历数组 可以使用 `for` 或 `foreach` 循环遍历数组的所有元素: ```csharp foreach (int num in numbers) { Console.WriteLine(num); // 输出每个元素 } ``` ### 传递数组作为参数 数组可以作为参数传递给方法,以便在方法内部操作数组内容: ```csharp void PrintArray(int[] array) { foreach (int num in array) { Console.WriteLine(num); } } // 调用方法 int[] numbers = {1, 2, 3, 4, 5}; PrintArray(numbers); // 输出数组中的每个元素 [^1] ``` ### 使用 `params` 关键字 C# 提供了 `params` 关键字,允许将可变数量的参数作为数组传递给方法: ```csharp private static int Add(params int[] arr) { int sum = 0; foreach(var item in arr) { sum += item; } return sum; } // 调用方法 Add(1, 2, 3); // 返回 6 Add(new int[] {1, 2, 3}); // 返回 6 ``` 这简化了调用者代码,并允许传递一组相同类型的数据或完全不传递参数 [^2]。 ### 动态创建数组 可以使用 `new` 关键字动态创建数组,指定数组的大小: ```csharp int[] numbers = new int[5]; // 创建一个包含 5 个整数的数组 [^3] ``` ### 多维数组 C# 支持多维数组,包括矩形数组(规则的二维或多维数组)和交错数组数组数组): - **矩形数组**:`int[,] matrix = new int[3, 3];` 表示一个 3x3 的二维数组。 - **交错数组**:`int[][] jaggedArray = new int[][] { new int[] {1, 2}, new int[] {3, 4, 5} };` 表示一个数组数组。 ### 数组排序 C# 提供了内置的排序功能,可以使用 `Array.Sort()` 方法对数组进行排序: ```csharp int[] numbers = {5, 3, 8, 1}; Array.Sort(numbers); // 排序后变为 {1, 3, 5, 8} ``` ### 查找数组元素 可以使用 `Array.IndexOf()` 方法查找特定元素的索引: ```csharp int index = Array.IndexOf(numbers, 3); // 查找数字 3 的位置 ``` ### 复制数组 可以使用 `Array.Copy()` 方法复制数组的一部分到另一个数组中: ```csharp int[] source = {1, 2, 3, 4, 5}; int[] destination = new int[5]; Array.Copy(source, destination, source.Length); // 复制整个数组 ``` ### 数组长度 可以通过 `Length` 属性获取数组的长度: ```csharp int length = numbers.Length; // 获取数组的长度 ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值