文章目录
5.3.1 C# 数组对象的赋值
在C#中,数组是一种数据结构,用于存储固定大小的相同类型的元素集合。以下是两个示例,一个是使用循环给一维数组赋值,另一个是通过键盘输入给数组赋值。
例5-5:通过循环给一维数组赋值
using System;
class Program
{
static void Main()
{
// 定义一个整型数组,长度为10
int[] numbers = new int[10];
// 使用for循环给数组赋值
for (int i = 0; i < numbers.Length; i++)
{
// 这里简单地将数组的每个元素赋值为其索引值
numbers[i] = i;
}
// 打印数组的元素
foreach (int number in numbers)
{
Console.WriteLine(number);
}
}
}
例5-6:通过键盘输入给数组赋值
using System;
class Program
{
static void Main()
{
// 定义一个整型数组,长度为10
int[] numbers = new int[10];
// 提示用户输入数组的元素
Console.WriteLine("请输入10个整数,用空格分隔:");
// 读取用户输入的一行文本
string input = Console.ReadLine();
// 使用Split方法将输入的字符串分割成字符串数组
string[] inputNumbers = input.Split(' ');
// 将字符串数组转换为整型数组
for (int i = 0; i < numbers.Length && i < inputNumbers.Length; i++)
{
// 将字符串转换为整型并赋值给数组
numbers[i] = int.Parse(inputNumbers[i]);
}
// 打印数组的元素
foreach (int number in numbers)
{
Console.WriteLine(number);
}
}
}
在例5-6中,首先提示用户输入10个整数,然后使用Console.ReadLine()
读取用户的输入。输入的字符串通过Split(' ')
方法分割成字符串数组。接着遍历字符串数组,使用int.Parse
将每个字符串转换为整数,并赋值给整型数组。
请注意,这里的代码没有进行错误处理,例如用户输入的不是整数或者输入的整数个数不足10个,所以在实际应用中需要添加适当的错误处理逻辑。
5.3.2 C#数组对象的输出
在C#中,输出数组对象可以通过遍历数组并打印每个元素来实现。以下是示例代码,展示了如何输出不同类型数组的内容。
例5-7:不同类型数组的输出
using System;
class Program
{
static void Main()
{
// 整型数组
int[] intArray = { 1, 2, 3, 4, 5 };
// 浮点型数组
float[] floatArray = { 1.1f, 2.2f, 3.3f };
// 字符型数组
char[] charArray = { 'A', 'B', 'C', 'D' };
// 字符串数组
string[] stringArray = { "Hello", "World", "C#" };
// 输出整型数组
Console.WriteLine("整型数组:");
foreach (int value in intArray)
{
Console.Write(value + " ");
}
Console.WriteLine(); // 换行
// 输出浮点型数组
Console.WriteLine("浮点型数组:");
foreach (float value in floatArray)
{
Console.Write(value + " ");
}
Console.WriteLine(); // 换行
// 输出字符型数组
Console.WriteLine("字符型数组:");
foreach (char value in charArray)
{
Console.Write(value + " ");
}
Console.WriteLine(); // 换行
// 输出字符串数组
Console.WriteLine("字符串数组:");
foreach (string value in stringArray)
{
Console.Write(value + " ");
}
Console.WriteLine(); // 换行
}
}
在这个示例中,我们定义了四种不同类型的数组:整型数组intArray
、浮点型数组floatArray
、字符型数组charArray
和字符串数组stringArray
。然后,我们使用foreach
循环遍历每个数组,并使用Console.Write
方法打印出每个数组的元素。
Console.Write
方法用于输出数据到控制台,但是不会自动换行。Console.WriteLine
方法用于输出数据到控制台,并在输出后添加一个换行符。
5.3.3 C#求数组中的最大(小)元素值
在C#中,要找到数组中的最大值和最小值,我们可以遍历数组并使用条件语句来比较元素。以下是示例代码,展示了如何求一个包含5个整数的数组的最大值和最小值。
例5-8:求数组中的最大值和最小值
using System;
class Program
{
static void Main()
{
// 定义一个包含5个整数的数组
int[] numbers = { 10, 20, 5, 35, 15 };
// 初始化最大值和最小值
int max = numbers[0];
int min = numbers[0];
// 遍历数组以找到最大值和最小值
foreach (int number in numbers)
{
if (number > max)
{
max = number;
}
if (number < min)
{
min = number;
}
}
// 输出最大值和最小值
Console.WriteLine("最大值: " + max);
Console.WriteLine("最小值: " + min);
}
}
在这个示例中,我们首先定义了一个包含5个整数的数组numbers
。然后,我们将数组的第一个元素分别赋值给变量max
和min
,作为初始的最大值和最小值。
接下来,我们使用foreach
循环遍历数组中的每个元素。在循环中,我们使用if
语句来比较当前元素与max
和min
。如果当前元素大于max
,则将max
更新为当前元素。如果当前元素小于min
,则将min
更新为当前元素。
最后,我们使用Console.WriteLine
方法输出找到的最大值和最小值。
5.3.4 C# 数组排序
当然,让我们先从每个排序算法的概念和原理开始,然后我会提供C#代码示例来实现这些排序算法。
1. 使用Array类排序(例5-9)
概念与原理:
在C#中,Array.Sort
方法提供了一种简单的方式来对数组进行排序。它使用一种高效的排序算法(通常是快速排序、堆排序或插入排序的混合体),这取决于数组的大小和内容。Array.Sort
方法可以对数组进行原地排序,这意味着它不需要额外的存储空间。
代码示例:
using System;
class Program
{
static void Main()
{
// 定义一个数组
int[] array = { 2, 5, 4, 1, 3 };
// 使用Array类的Sort方法进行排序
Array.Sort(array);
// 输出排序后的数组
Console.WriteLine("排序后的数组:");
foreach (int value in array)
{
Console.Write(value + " ");
}
}
}
2. 冒泡排序(例5-10)
概念与原理:
冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
代码示例:
using System;
class Program
{
static void Main()
{
// 定义一个数组
int[] array = { 2, 5, 4, 1, 3 };
// 冒泡排序
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - 1 - i; j++)
{
if (array[j] > array[j + 1])
{
// 交换元素
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
// 输出排序后的数组
Console.WriteLine("冒泡排序后的数组:");
foreach (int value in array)
{
Console.Write(value + " ");
}
}
}
3. 选择排序(例5-11)
概念与原理:
选择排序是一种简单直观的排序算法。它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。
代码示例:
using System;
class Program
{
static void Main()
{
// 定义一个数组
int[] array = { 2, 5, 4, 1, 3 };
// 选择排序
for (int i = 0; i < array.Length - 1; i++)
{
int minIndex = i;
for (int j = i + 1; j < array.Length; j++)
{
if (array[j] < array[minIndex])
{
minIndex = j;
}
}
if (minIndex != i)
{
// 交换元素
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
// 输出排序后的数组
Console.WriteLine("选择排序后的数组:");
foreach (int value in array)
{
Console.Write(value + " ");
}
}
}
在这些示例中,我们首先定义了一个包含5个整数的数组。然后,我们使用不同的排序算法对数组进行排序,并输出排序后的结果。
- Array.Sort:这是最简单也是最推荐的方式,因为它高效且易于使用。
- 冒泡排序:它简单但效率较低,适用于小数据集。
- 选择排序:它也简单但效率不高,同样适用于小数据集。
每种排序算法都有其适用场景,了解它们的原理可以帮助你更好地选择适合特定问题的排序方法。
标签:Console,WriteLine,int,冒泡排序,数组,array,排序 From: https://blog.csdn.net/Argonaut_/article/details/142753131