国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > Java > 正文

Java實(shí)現(xiàn)輸出回環(huán)數(shù)(螺旋矩陣)的方法示例

2024-07-13 10:15:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Java實(shí)現(xiàn)輸出回環(huán)數(shù)(螺旋矩陣)的方法。分享給大家供大家參考,具體如下:

以前見(jiàn)過(guò),沒(méi)做出來(lái);那天論壇再見(jiàn),靈感來(lái)了,太神奇了

復(fù)雜度好像為 o(n)

保存下來(lái)

package demo;public class snakeMatrixDemo {    public static void main(String[] args) {        int m = 5;/* 行 */        int n = 5;/* 列 */        int[][] pos = new int[m][n];/* 位置 */        /**         * 位置結(jié)構(gòu)如下: [0][0],[0][1],[0][2],[0][3],[0][4]         *         * [1][0],[1][1],[1][2],[1][3],[1][4]         *         * [2][0],[2][1],[2][2],[2][3],[2][4]         *         * [3][0],[3][1],[3][2],[3][3],[3][4]         *         * [4][0],[4][1],[4][2],[4][3],[4][4]         */        int count = 0;        int r = 0, c = 0;/* r:行下標(biāo) c:列下標(biāo) pos[r][c]對(duì)應(yīng)以上位置 */        /* 賦值方向,先向右c++,再向下r++,再向左c--,再向上r-- */        final int up = 1;        final int down = -1;        final int left = 2;        final int right = -2;        int dir = right;/* 開始方向 */        int cir = 1;/* 第幾圈賦值 */        while (count < m * n) {            count++;            pos[r][c] = count;/* 賦值 */            switch (dir) {            case right:                if (c < n - cir) {/* 當(dāng)前行右方還有沒(méi)賦值的 */                    c++;                } else {                    dir = down;                    r++;                }                break;            case down:                if (r < m - cir) {/* 當(dāng)前列下方還有沒(méi)賦值的 */                    r++;                } else {                    dir = left;                    c--;                }                break;            case left:                if (c > cir - 1) {/* 當(dāng)前行左邊還有沒(méi)賦值的 */                    c--;                } else {                    dir = up;                    r--;                }                break;            case up:                if (r > cir) {/* 當(dāng)前列上邊邊還有沒(méi)賦值的 */                    r--;                } else {                    cir++;/* 賦值了一圈 */                    dir = right;                    c++;                }                break;            }        }        System.out.println("VeVb武林網(wǎng)測(cè)試結(jié)果:");        /* 輸出 */        for (int i = 0; i < m; i++) {            for (int j = 0; j < n; j++) {                if (pos[i][j] < 10) {                    System.out.print(pos[i][j] + " " + " ");                } else {                    System.out.print(pos[i][j] + " ");                }            }            System.out.println();        }    }}

運(yùn)行結(jié)果:

Java,回環(huán)數(shù),螺旋矩陣

 

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JAVA教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 古田县| 泸西县| 翁源县| 马公市| 玉田县| 体育| 莒南县| 客服| 双城市| 隆尧县| 镇沅| 酒泉市| 洛川县| 呼图壁县| 沙田区| 阳信县| 定襄县| 石首市| 洪洞县| 嘉荫县| 芒康县| 饶平县| 永丰县| 汶上县| 昂仁县| 清苑县| 晋城| 时尚| 象山县| 乌鲁木齐市| 自贡市| 衡山县| 峡江县| 遵义县| 阿拉善右旗| 藁城市| 沿河| 科技| 玛曲县| 双柏县| 绵阳市|