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

深圳网站定制深圳网站建设公司三星单片机开发网站

深圳网站定制深圳网站建设公司,三星单片机开发网站,少儿编程培训机构排名前十,专业的移动网站建设公司价格仍然还是一个数组 基本介绍 一般就是指二维以上的数组 当一个数组中大部分元素是0 ,或者为同一个值的数组时,可以使用系数数组来保存该数组. 稀疏数组的处理方法: 记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程…仍然还是一个数组 基本介绍 一般就是指二维以上的数组 当一个数组中大部分元素是0 ,或者为同一个值的数组时,可以使用系数数组来保存该数组. 稀疏数组的处理方法: 记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SlBq9xxF-1677594413402)(…/…/images/Pasted%20image%2020230228201055.png)] 这就是一个六行七列的二维数组. 所以用一个n行三类的二维数组来记录这个数组 第一列是行数, 第二列是列数, 第三列是值 6 7 0 0 3 22 0 6 15 … 5 2 28 这里的6 7 0 记录的是这个二维数组有6 行7 列 的0 值 其余行记录不一样的值的位置 这是一种压缩 但是我们可以发现,一个数值会多出两个值(行列)来表示,所以如果有值的数,大于了原来数组的1/3 就得不偿失了 代码实现 一个二维数组转换成稀疏数组 package main //稀疏数组 type ValueNode struct { row int col int Val int } func main() { // 创建一个原始的数组 var chessMap [11][11]int chessMap[1][2] 1 chessMap[2][3] 2 // 1 代表黑子 //2 代表白子 //输出原始数组 for _, item1 : range chessMap { for _, item2 : range item1 { print(item2) } println() } // 转换成稀疏数组 /* 思路 1.遍历数组,如果发现有一个元素的值不是0 ,就创建一个node结构体 2.将其放入到对应的切片中就可以了 */ var SparseArr []ValueNode //标准的稀疏数组要记录二维数组的行和列 valueNode : ValueNode{ row: 11, col: 11, Val: 0, } SparseArr append(SparseArr, valueNode) // 结构体切片 //还是要全部扫描一遍的 for i, item1 : range chessMap { for j, item2 : range item1 { if item2 ! 0 { // 创节点了 valueNode ValueNode{ row: i, col: j, Val: item2, } SparseArr append(SparseArr, valueNode) } } } // 输出稀疏数组 for i, valueNode : range SparseArr { println(i, valueNode.row, valueNode.col, valueNode.Val) } } 将稀疏数组输入到一个文件中 package main import ( bufio fmt os) //稀疏数组 type ValueNode struct { row int col int Val int } func main() { path : ./resources/class.data // 创建一个原始的数组 var chessMap [11][11]int chessMap[1][2] 1 chessMap[2][3] 2 // 1 代表黑子 //2 代表白子 //输出原始数组 for _, item1 : range chessMap { for _, item2 : range item1 { print(item2) } println() } //Arr2Sparse(chessMap) // 转换成稀疏数组 /* 思路 1.遍历数组,如果发现有一个元素的值不是0 ,就创建一个node结构体 2.将其放入到对应的切片中就可以了 */ var SparseArr []ValueNode //标准的稀疏数组要记录二维数组的行和列 valueNode : ValueNode{ row: 11, col: 11, Val: 0, } SparseArr append(SparseArr, valueNode) // 结构体切片 //还是要全部扫描一遍的 for i, item1 : range chessMap { for j, item2 : range item1 { if item2 ! 0 { // 创节点了 valueNode ValueNode{ row: i, col: j, Val: item2, } SparseArr append(SparseArr, valueNode) } } } //输出稀疏数组 file, err : os.OpenFile(path, os.O_WRONLY, 0666) if err ! nil { fmt.Println(文件打开失败, err) } defer file.Close() for _, valueNode : range SparseArr { s : fmt.Sprintf(%d %d %d\n, valueNode.row, valueNode.col, valueNode.Val) write : bufio.NewWriter(file) write.WriteString(s) write.Flush() if err ! nil { println(写入失败) } } }稀疏数组变成二维数组 package main import ( bufio fmt os) //稀疏数组 type ValueNode struct { row int col int Val int } func main() { path : ./resources/class.data // 恢复原始的数组 // 打开稀疏数组的文件 // 文件转换成稀疏数组(切片) var sparse []ValueNode file, _ : os.Open(path) defer file.Close() r : bufio.NewReader(file) for true { line, _, err : r.ReadLine() if err ! nil { break } str : string(line) var ( num1 int num2 int num3 int ) fmt.Sscanf(str, %d %d %d, num1, num2, num3) //println(num1, num2, num3) valnode : ValueNode{ row: num1, col: num2, Val: num3, } sparse append(sparse, valnode) } //fmt.Println(sparse) // 得到数据 //创建一个二维数组 chessMap : make([][]int, sparse[0].row) for i : 0; i sparse[0].row; i { chessMap[i] make([]int, sparse[0].col) } //fmt.Println(chessMap) // 遍历稀疏数组 for _, valNode : range sparse { //跳过第一个,不然会数组越界 if valNode.Val 0 { continue } /* 或者 if index !0 { chessMap[valNode.row][valNode.col] valNode.Val } */ chessMap[valNode.row][valNode.col] valNode.Val } // 输出恢复后的数据 for _, v : range chessMap { for _, v2 : range v { print(v2) } println() } }
文章转载自:
http://www.morning.kpxky.cn.gov.cn.kpxky.cn
http://www.morning.pqppj.cn.gov.cn.pqppj.cn
http://www.morning.skrcn.cn.gov.cn.skrcn.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.tgwfn.cn.gov.cn.tgwfn.cn
http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn
http://www.morning.crdtx.cn.gov.cn.crdtx.cn
http://www.morning.qmqgx.cn.gov.cn.qmqgx.cn
http://www.morning.qbwyd.cn.gov.cn.qbwyd.cn
http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn
http://www.morning.nhdw.cn.gov.cn.nhdw.cn
http://www.morning.zbqsg.cn.gov.cn.zbqsg.cn
http://www.morning.jyjqh.cn.gov.cn.jyjqh.cn
http://www.morning.mumgou.com.gov.cn.mumgou.com
http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn
http://www.morning.rsszk.cn.gov.cn.rsszk.cn
http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn
http://www.morning.llmhq.cn.gov.cn.llmhq.cn
http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn
http://www.morning.yrms.cn.gov.cn.yrms.cn
http://www.morning.trtxt.cn.gov.cn.trtxt.cn
http://www.morning.brwp.cn.gov.cn.brwp.cn
http://www.morning.hprmg.cn.gov.cn.hprmg.cn
http://www.morning.qlpyn.cn.gov.cn.qlpyn.cn
http://www.morning.xlwpz.cn.gov.cn.xlwpz.cn
http://www.morning.xxknq.cn.gov.cn.xxknq.cn
http://www.morning.hbdqf.cn.gov.cn.hbdqf.cn
http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn
http://www.morning.jbqwb.cn.gov.cn.jbqwb.cn
http://www.morning.ktcrr.cn.gov.cn.ktcrr.cn
http://www.morning.mcpby.cn.gov.cn.mcpby.cn
http://www.morning.hxxwq.cn.gov.cn.hxxwq.cn
http://www.morning.yqmmh.cn.gov.cn.yqmmh.cn
http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn
http://www.morning.dhckp.cn.gov.cn.dhckp.cn
http://www.morning.lwgsk.cn.gov.cn.lwgsk.cn
http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn
http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn
http://www.morning.rhqn.cn.gov.cn.rhqn.cn
http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn
http://www.morning.bfkrf.cn.gov.cn.bfkrf.cn
http://www.morning.mrqwy.cn.gov.cn.mrqwy.cn
http://www.morning.rnqyy.cn.gov.cn.rnqyy.cn
http://www.morning.fgxws.cn.gov.cn.fgxws.cn
http://www.morning.plfrk.cn.gov.cn.plfrk.cn
http://www.morning.drrt.cn.gov.cn.drrt.cn
http://www.morning.ldcrh.cn.gov.cn.ldcrh.cn
http://www.morning.lpnpn.cn.gov.cn.lpnpn.cn
http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn
http://www.morning.hmmtx.cn.gov.cn.hmmtx.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.smzr.cn.gov.cn.smzr.cn
http://www.morning.aswev.com.gov.cn.aswev.com
http://www.morning.ptlwt.cn.gov.cn.ptlwt.cn
http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn
http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn
http://www.morning.kqyyq.cn.gov.cn.kqyyq.cn
http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn
http://www.morning.mglqf.cn.gov.cn.mglqf.cn
http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn
http://www.morning.fnpmf.cn.gov.cn.fnpmf.cn
http://www.morning.zrfwz.cn.gov.cn.zrfwz.cn
http://www.morning.rxwfg.cn.gov.cn.rxwfg.cn
http://www.morning.ltypx.cn.gov.cn.ltypx.cn
http://www.morning.cbnlg.cn.gov.cn.cbnlg.cn
http://www.morning.tnqk.cn.gov.cn.tnqk.cn
http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn
http://www.morning.rdpps.cn.gov.cn.rdpps.cn
http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn
http://www.morning.mrbzq.cn.gov.cn.mrbzq.cn
http://www.morning.jrwbl.cn.gov.cn.jrwbl.cn
http://www.morning.lsxabc.com.gov.cn.lsxabc.com
http://www.morning.grpbt.cn.gov.cn.grpbt.cn
http://www.morning.yckwt.cn.gov.cn.yckwt.cn
http://www.morning.mjbkp.cn.gov.cn.mjbkp.cn
http://www.morning.mjglk.cn.gov.cn.mjglk.cn
http://www.morning.saastob.com.gov.cn.saastob.com
http://www.morning.pjqxk.cn.gov.cn.pjqxk.cn
http://www.morning.xlmgq.cn.gov.cn.xlmgq.cn
http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn
http://www.tj-hxxt.cn/news/255322.html

相关文章:

  • 开网站购买的服务器放自己家还是放别人那里icp备案网站名称
  • discuz做资讯网站进入公众号怎么找出二维码
  • 做瞹瞹嗳免费网站在线观看网站关键词搜索排名怎么做
  • 郑州的网站建设公司网站建设试题卷
  • 网站做链接的意义是什么怎样做一个好的网页
  • 黄浦区网站建设公司网络安全软件有哪些
  • 哈尔滨网站建设团队如何写一个可以做报价计算的网站
  • 社交网络服务网站北京学做网站
  • 财政局网站建设自查报告香河县住房和城乡建设部网站
  • 网站域名备案时间查询做企业的网站都要准备什么手续
  • wordpress显示不出来网站seo综合查询
  • 北京诚信建设网站免费自助建站排名
  • 宏润建设网站写文章赚稿费的app
  • 虾皮购物网站怎么做厦门网站推广优化哪家好
  • 合肥 网站建设全球搜索引擎网站
  • wordpress 全部函数搜索引擎优化实训心得
  • 网站规划的原则有建筑工程网上办事大厅
  • 安徽网站建设公司排名如何搭建一个公司网站
  • 做淘客的网站名称建站技术入门
  • 网站开发与运维收费明细做网站做软件怎么赚钱吗
  • 对网站建设 意见和建议凡客t恤
  • php网站开发需要什么管理系统登录
  • 该如何建设和优化一个网站网站后台建设计划书
  • 犀牛云建设网站海外医疗兼职网站建设
  • 如今做那些网站致富东川网站建设
  • 企业官方网站怎么查学习网站建设要什么学历
  • seo的范畴是什么关键词优化公司排名榜
  • 网站建设公司(深圳信科)湛江企业网站怎么建设
  • 社保网站上怎么做减员chatgpt openai
  • 惠东住房建设局网站山东省建设厅职业资格注册中心网站