数组应用的技巧与方法内容摘要:

1 3 4 10 11 21 22 2 5 9 11 2 5 9 12 20 23 34 6 8 12 15 6 8 13 19 24 33 35 7 13 14 16 7 14 18 25 32 36 43 15 17 26 31 37 42 44 16 27 30 38 41 45 48 28 29 39 40 46 47 49 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 26 蛇行矩阵  将自然数 1,2,… ,N*N,逐个顺序插入方阵中适当的位置,这个过程沿斜列进行。 将斜列编号为0,1,2,… ,2n(以 i表记 ,n=N1),从图中看出在一斜列上各元素的下标是相等的,且等于斜列号 i。 同时方阵又可分为上三角与下三角(含对角线)每一斜列上元素个数为 i+1个;下三角每一斜列上元素个数为 2ni+1个。 在斜列上安排数可以使 自右上向左下 或自左下向右上 两种方式进行,元素可以表示为 a[ij][j]或者a[j][ij]的形式。 66656463626160565554535251504645444342414036353433323130262524232221201615141312111006050403020200a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a 斜 列 号0 1 2 3 4 5 67891 01 11 227 蛇行方阵的排数方法 左下向右 右上向左 下标变量 下标 j的变化 下标变量 下标 j的变化 上三角 a[ij][j] 0 i a[ij][j] i 0 a[j][ij] i 0 a[j][ij] 0 i 下三角 a[ij][j] in n a[ij][j] n in a[j][ij] n in a[j][ij] in n 28 上三角(包括对角线) for (i=0。 i=n。 i++) { if (i%2 == 1) { for ( j=0。 j=i。 j++) { a[ij][j] = k。 k++。 } } else { for ( j=i。 j=0。 j) { a[ij][j] = k。 k++。 } } } a a a a a a a a a a a a 504132302321141210050301斜 列 号1 3 5 a a a a a a a a a a a a a a a a 60514240333124222015131106040200斜 列 号0 2 4 61 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 29 下三角(不含对角线) for (i=n+1。 i=(2*n)。 i++) { if (i%2==1) { for (j=in。 j=n。 j++) { a[ij][j] = k。 k++。 } } else { for (j=n。 j=in。 j) { a[ij][j] = k。 k++。 } } } a a a a a a a a a a a a 656361565452454336342516791 1666462555346443526a a。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。