当前位置: 首页 > news >正文

浏阳做网站推荐廊坊今日头条新闻

浏阳做网站推荐,廊坊今日头条新闻,太原本地网站,php做网站视频播放下载功能文章目录 01.程序结构划分02.去零03.合并04.上移05.下移/左移/右移&#xff0c;只是取数据的方向不同06.提高可读性 01.程序结构划分 02.去零 有序向量“唯一化”的思路。 /// <summary>/// 去零/// </summary>/// <param name"row">对于一行或一…

文章目录

  • 01.程序结构划分
  • 02.去零
  • 03.合并
  • 04.上移
  • 05.下移/左移/右移,只是取数据的方向不同
  • 06.提高可读性

在这里插入图片描述

01.程序结构划分

在这里插入图片描述

02.去零

有序向量“唯一化”的思路。

        /// <summary>/// 去零/// </summary>/// <param name="row">对于一行或一列元素</param>private static void Remove0(int[] row){int pos = 0;for (int i = 0; i < 4; ++i) if (row[i] != 0) row[pos++] = row[i];for (; pos < 4; ++pos) row[pos] = 0;}

03.合并

        /// <summary>/// 合并/// </summary>/// <param name="row">对于一行或一列元素,完成一次向左合并的操作</param>private static void Merge(int[] row){// 去零Remove0(row);// 相邻相同则合并for (int i=0; i<4-1; ++i){if (row[i] != 0 && row[i] == row[i+1]){row[i] *= 2;row[i + 1] = 0;}}// 去零Remove0(row);}

04.上移

        /// <summary>/// 上移/// </summary>/// <param name="map">原棋盘</param>/// <returns></returns>private static void Up(int[,] map){int[] arr = new int[4] ;for (int j=0; j<4; ++j){for (int i=0; i<4; ++i) arr[i] = map[i, j];Merge(arr);for (int i = 0; i < 4; ++i) map[i, j] = arr[i];}}

05.下移/左移/右移,只是取数据的方向不同

比如,“下移” 取数据和还数据的方向与“上移”相反。

        /// <summary>/// 下移/// </summary>/// <param name="map">原棋盘</param>/// <returns></returns>private static int[,] Down(int[,] map){int[] arr = new int[4];for (int j = 0; j < 4; ++j){for (int i = 0; i < 4; ++i) arr[3-i] = map[i, j];Merge(arr);for (int i = 0; i < 4; ++i) map[i, j] = arr[3-i];}return map;}/// <summary>/// 左移/// </summary>/// <param name="map"></param>/// <returns></returns>private static int[,] Left(int[,] map){int[] arr = new int[4];for (int i = 0; i < 4; ++i){for (int j = 0; j < 4; ++j) arr[j] = map[i, j];Merge(arr);for (int j = 0; j < 4; ++j) map[i, j] = arr[j];}return map;}/// <summary>/// 右移/// </summary>/// <param name="map">原棋盘</param>/// <returns></returns>private static int[,] Right(int[,] map){int[] arr = new int[4];for (int i = 0; i < 4; ++i){for (int j = 0; j < 4; ++j) arr[3-j] = map[i, j];Merge(arr);for (int j = 0; j < 4; ++j) map[i, j] = arr[3-j];}return map;}

06.提高可读性

枚举
enum Direction { up, down, left, right }

        /// <summary>/// 进行一次移动操作/// </summary>/// <param name="map">原棋盘</param>/// <param name="dir">移动的方向(枚举)</param>private static void Move(int[,] map, Direction dir){switch (dir){case Direction.up:Up(map); break;case Direction.down:Down(map); break;case Direction.left:Left(map); break;case Direction.right:Right(map); break;}}
http://www.yidumall.com/news/43997.html

相关文章:

  • 东营的招聘网站哪个有用可以推广的软件
  • 网站图片做多大兰州网络推广公司哪家好
  • 织梦网站上传新闻商城小程序开发哪家好
  • 外贸网站源码网时代教育培训机构怎么样
  • wordpress 文章数seo优化是做什么的
  • 上海seo网站优化软件厦门谷歌seo
  • 学习做网站建设的学校谷歌搜索入口手机版
  • 自动做海报的网站做网站公司
  • 怎样把网站上传到服务器上磁力狗在线引擎
  • 网站模板有哪些内容奉节县关键词seo排名优化
  • 网站优化的常见问题百度站长平台官网
  • 国家示范建设成果网站大连网站制作
  • 西部数码网站管理控制面板天津百度推广排名优化
  • 景德镇网站制作千峰培训多少钱
  • 深圳做网站制作抖音seo排名系统
  • 如何用wordpress建一个网站百度网页电脑版入口
  • 网站上传文件大小限制淮北网站建设
  • 做微网站的公司外贸营销型网站制作公司
  • 2017网站建设前景怎么开发网站
  • 网站设计实施方案销售管理系统
  • 程序开发语言有哪些山东进一步优化
  • 一图读懂制作网站电商平台推广公司
  • 网站建设推进表怎么推广app让人去下载
  • 国外真正的永久免费建站app注册推广团队
  • 深圳做网站公浏览器谷歌手机版下载
  • 中国风html5网站模板免费下载seo综合查询
  • 贵阳市网站建设公司百度seo优化方法
  • 攻击自己做的网站网络营销课程思政
  • 桥头仿做网站独立网站怎么做
  • 营销型网站建设遨龙软文推广代写代发