C#语言基础(嵌套循环和二维数组):冒泡和选择排序方法

嵌套循环

//在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获取行数或者列数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值