以下代码皆在控制台输出(控制台应用程序)
数组
数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合。
初始化数组
声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。
赋值给数组
int[] array = new int[5];
array[0] = 2;
array[1] = 4;
array[2] = 6;
array[3] = 8;
array[4] = 10;
直接初始化赋值,大括号中的赋值顺序和数组中的索引位置一致,不多不少
int[] array = new int[5] { 2, 4, 6, 8, 10 };
直接给数组赋值,省略实例,这种写法数组长度完全取决其初始过程中填充的内容个数
int[] array ={2,4,6,8,10};
重点:
创建一个数组时,C# 编译器会根据数组类型隐式初始化每个数组元素为一个默认值。例如,int 数组的所有元素都会被初始化为 0。
//1.声明数组的长度:规定了这个数组中允许存放的这种类型的对象的最大数量
//int[] array = new int[5];
//直接初始化赋值,大括号中的赋值顺序和数组中的索引位置一致,不多不少
int[] array = new int[5] { 2, 4, 6, 8, 10 };
//直接给数组赋值,省略实例,这种写法数组长度完全取决其初始过程中填充的内容个数
//int[] array ={2,4,6,8,10};
//2.给数组中装内容,给每个位置里面放置一个数组类型的对象
//索引:代表数组中的位置编号从0开始
//array[0] = 2;
//array[1] = 4;
//array[2] = 6;
//array[3] = 8;
//array[4] = 10;
//3.在使用数组的时候必须注意,数组的索引绝对不允许超过数组的长度范围(最大索引值=数组长度-1)
//for (int i = 0; i < 5; i++)
//{
// Console.WriteLine(array[i]);
//}
//4.数组属性length:指数组的长度
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
Console.ReadLine();
冒泡排序
口诀:
N 个数字来排队,两两相比小靠前。
外层循环 N-1,内层循环 N-1-i。
int[] array = {12,45,34,44,32,18 };
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;
}
}
}
for (int i = 0; i < array.Length; i++)
{
Console.Write(array[i]+"<");
}
Console.ReadLine();
数组中随机出现1-20之间的8位数,且不重复
int[] array = new int[8];
Random r = new Random();
for (int i = 0; i < array.Length; i++)
{
array[i] = r.Next(1,21);
if (i > 0)
{
for (int j = 0; j < i; j++)
{
if (array[i]==array[j])
{
i--;
}
}
}
}
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
Console.ReadLine();
数组中随机出现各重复三次的1,2,3,三位数字
int[] array = new int[9];
Random r = new Random();
for (int i = 0; i < array.Length; i++)
{
array[i] = r.Next(1,4);
int count = 0;
if (i>0)
{
for (int j = 0; j < i; j++)
{
if (array[i]==array[j])
{
count++;
if (count == 3)
{
i--;
}
}
}
}
}
for (int i = 0; i < array.Length; i++)
{
Console.WriteLine(array[i]);
}
Console.ReadLine();
数组中随机出现1-20之间的三位数,并且各重复出现3次
//获取3个数
int[] Num = new int[3];
Random r = new Random();
for (int i = 0; i < Num.Length; i++)
{
Num[i] = r.Next(1, 21);
if (i > 0)
{
for (int j = 0; j < i; j++)
{
if (Num[i] == Num[j])
{
i--;
}
}
}
}
for (int i = 0; i < Num.Length; i++)
{
Console.Write(Num[i]+" ");
}
Console.WriteLine();
//摆顺序
int[] array = new int[9];
for (int i = 0; i < array.Length; i++)
{
int index = r.Next(3);
array[i] = Num[index];
int count = 0;
if (i > 0)
{
for (int j = 0; j < i; j++)
{
if (array[i] == array[j])
{
count++;
if (count==3)
{
i--;
}
}
}
}
}
for (int i = 0; i < array.Length; i++)
{
Console.Write(array[i]+" ");
}
Console.ReadLine();