嵌套循环
//在2d游戏中经常使用
两层for
//外层控制行内层控制列
for(int r=0;r<3;r++)
{
for(int c=0;c<3;c++)
{
Console.Write("#");
}
Console.Write.Line();
}
//###
//###
//###
循环排序:冒泡排序方法
※依次于后一个比较,在交换数据消耗较大的性能
※循环一次,多次交换多次数据
private static int[] SorMaxt(int[] array)
{
for(int i = 0;i<array.Lengthl;i++)
{
for(int c = i;c<array.Length;c++) //注c = i ,如不是等与i就是
{ //又从0索引比较,导致出错
if(array[i] < array[c+1])
{
int temp = array[i];
array[i] = array[c+1];
array+1 = temp;
}
}
}
return array;
}
循环排序:选择排序方法
※先比较后记录索引,比较完后再变换数据
※循环一次,交换一次数据
private static int[] SortArray(int[] array)
{
for(int cuurentIndex = 0;cuurentIndex<array.Length;currentIndex++) //当前索引
{
int newIndex = currentIndex; //新的索引记录
for(int c = currentIndex+1;c <array.Length;c++)
{
if(array[i] < array[c])
{
newIndex = c; //先把数据存在newIdex
}
}
if(newIndex != cuurentIndex)//一轮下来如果索引不一样就调换
{
int temp = array[cuurentIndex]
array[cuurentIndex] =array[newIndex]; //比较完后再赋值
array[newIndex] = temp;
}
}
}
二维数组
语法和定义
数据类型 名称 = new 数据类型[行数,列数]{
{},
{}
};
//列
int[,] array = new int[3,3]{
{1,2,3}, //0,0 0,1 0,2
{4,5,6}, //1,0 1,1 1,2
{7,8,9} //2,0 2,1 2,2
};
在控制台显示二维数组
private static int[,] PrintArray(int[,] array)
{
for(int r=o;r<array.GetLength(0);r++)
{
for(int c=0; c<array.GetLength(1);c++)
{
Console.Write(array[r,c]); // 0 1 2
}
Console.WriteLine();
}
}
//array.GetLength(0)/(1):0/1获取行数或者列数