网站首页 > 精选教程 正文
需求,有一个二维数组,如下:
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
沿着对角线:1,5,9 翻转180度,变成如下数组:
1 | 4 | 7 |
2 | 5 | 8 |
3 | 6 | 9 |
思路: 利用一个中间临时数组,然后遍历临时数组,进行数组翻转;因为数组是引用类型,所以要clone一个新的数组,不能直接赋值,否则得出的结果不对。用到了一个DeepClone深度克隆库,挺好用的。
代码如下:
static void Main(string[] args)
{
float[][] arr01 = new float[][] {
new float[]{1,2,3},
new float[]{4,5,6},
new float[]{7,8,9}
};
Console.WriteLine("翻转前:");
Console.WriteLine(getArrStr(arr01));
int len = arr01.Length;
//你可以这样:
//for (int i = 0; i < len; i++)
//{
// temp[i] = new float[len];
// for (int j = 0; j < len; j++)
// {
// temp[i][j] = arr01[i][j];
// }
//}
//******也可以这样 DeepClone库,深度克隆库
float[][] temp = arr01.DeepClone();
//******但不能这样:
//float[][] temp = arr01;
for (int i = 0; i < temp.Length; i++)
{
for (int j = 0; j < len; j++)
{
if (i == j)
{
continue;
}
arr01[i][j] = temp[j][i]; //翻转数组
}
}
Console.WriteLine("结果");
Console.WriteLine(getArrStr(arr01));
/// <summary>
/// flattern Array
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
private static string getArrStr(float[][] arr)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.Length; i++)
{
sb.Append("\r\n");
for (int j = 0; j < arr.Length; j++)
{
sb.Append("\t" + arr[i][j].ToString("G3"));
}
}
return sb.ToString();
}
结果如下:
猜你喜欢
- 2024-11-13 面试:聊一聊 Java 数组默认的排序算法,我懵了
- 2024-11-13 golang2021数据格式(6)数组逆置 golang数组转字符串
- 2024-11-13 深入理解 JavaScript 数组方法:从零实现 reverse 方法
- 2024-11-13 程序员面试算法题之数组[3],反转整数
- 2024-11-13 Vue短文:如何使用v-for反转数组的顺序?
- 2024-11-13 Java重学—进阶知识 java重点知识回顾
- 2024-11-13 关于数组,你必须要知道的几大算法
- 2024-11-13 python经典案例:将一个数组逆序输出
- 2024-11-13 shell中如何逆序打印数组的内容,或者反转一个数组?
- 2024-11-13 30-32、结构-计算机单位-数组-数组元素首尾交换_笔记
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)