1. 程式人生 > >二維陣列和字串之間的互轉

二維陣列和字串之間的互轉

為什麼會想到把一個二維陣列轉成字串呢?哎,說來話長,簡單來說就是我在儲存遊戲的時候,用的那個不支援多維陣列,而且我也不知道一共會有多少個二維陣列,所以我就想著乾脆轉換成一個長長的字串算了,不知道這樣會消耗多少效能。。。但是也管不了了,先實現功能再說大笑讀取遊戲的時候還要把字串轉換成二維陣列。。。

/// <summary>

    /// 將一個二維陣列轉化為一個string
    /// </summary>
    /// <param name="list"></param>
    /// <returns></returns>
    public static string ConvertString(int[][] list)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < list.Length; i++)
        {
            for (int j = 0; j < list[i].Length; j++)
            {
                sb.Append(list[i][j]);
            }
        }
        return sb.ToString();
    }
    
    /// <summary>
    /// 將一個string轉化為一個二維陣列
    /// </summary>
    /// <param name="sb"></param>
    /// <returns></returns>
    public static int[][] ConvertTwoDimensional(string sb)
    {
        int xx = 13;//我這個陣列的大小是固定的13*13
        int yy = 13;
        int[][] two = new int[xx][];
        for (int i = 0; i < xx; i++)
        {
            two[i] = new int[yy];
            for (int j = 0; j < yy; j++)
            {
                two[i][j] = int.Parse(sb.Substring(((j* xx) + i) *3, 3));
            }
        }
        return two;
    }

相關推薦

陣列字串之間

為什麼會想到把一個二維陣列轉成字串呢?哎,說來話長,簡單來說就是我在儲存遊戲的時候,用的那個不支援多維陣列,而且我也不知道一共會有多少個二維陣列,所以我就想著乾脆轉換成一個長長的字串算了,不知道這樣會消耗多少效能。。。但是也管不了了,先實現功能再說讀取遊戲的時候還要把字串轉

C#數字、16進位制字串位元組之間

一個位元組包含8個二進位制位,一個十六進位制可表示4個二進位制位,所以,一個位元組可以由2個十六進位制表示 總結如下: (1)一個byte 對應兩位十六進位制位,而不是八位(32位二進位制位); (2)轉化為十六進位制之後,不足兩位的,高位要補零。

寫一個函式,使給定的一個陣列(3×3)置,即行列互換。

import java.util.Scanner; public class Main {     public static void main(String[] args) {       &n

C++陣列動態記憶體分配【

(轉自:https://www.cnblogs.com/Forever-Kenlen-Ja/p/3753566.html)   /*申請3行4列的二維陣列記憶體*/ int **array; array = new int *[3];/*先申請3個int*型

YTUOJ——寫一個函式,使給定的一個陣列(3×3)置,即行列互換

題目描述 寫一個函式,使給定的一個二維陣列(3×3)轉置,即行列互換。 輸入 一個3x3的矩陣 輸出 轉置後的矩陣 樣例輸入 1 2 3 4 5 6 7 8 9 樣例輸出 1 4 7 2 5 8 3 6 9 答案 #include "iostream

陣列字串之間的轉換

1、陣列轉換為字串         將陣列元素以逗號隔開連結為字串 var a,b; a=new Array(1,2,3,4); b=a.join(","); 2、字串轉換為陣列         

“全棧2019”Java第三十一章:陣列陣列詳解

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第三十一章:二維陣列和多維陣列詳解 下一章 “全棧2019”Java第三十二章:增強for迴

Java 學習筆記 陣列物件陣列

定義二維陣列 int[][] a = new int[4][5]; 可以不指定列數 int[][] a = new int[4][]; 獲取行 int i = a.length(); 如果使用第一個例子,這裡就是返回4 獲取列 int i = a[0].length();使用第一個例子,這裡就是

java新手:字串陣列、字元陣列字串之間的轉換

(1)字串和字元陣列的轉化 // 字串轉化成字元陣列 String str = "abcdefg"; char[] ch = str.toCharArray(); //輸出a System.out.println(ch[0]); //字元陣列

初見dfs,用dfs計算陣列

原題的網址(一道很水的題) 程式碼如下 #include<bits/stdc++.h> using namespace std; int sum=0,num[100][100],jz[100][100],n; void dfs(int x,int y) { for(int

劍指off:在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣一個二維陣列和一個整數,判斷陣列中是否含有該整數

題目描述 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 思路: 從左下角x開始尋找,x為此列最大數字,此行最小數字。如果目

ACMNO.24 C語言-置矩陣 寫一個函式,使給定的一個陣列(3×3)置,即行列互換。 輸入 一個3x3的矩陣 輸出 置後的矩陣 樣例

題目描述 寫一個函式,使給定的一個二維陣列(3×3)轉置,即行列互換。 輸入 一個3x3的矩陣 輸出 轉置後的矩陣 樣例輸入 1 2 3 4 5 6 7 8 9 樣例輸出 1 4 7 2 5 8 3 6 9 來源/分類 C語言

java 劍指offer 第一題:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。

我用了三種解法,全部都可以在牛客網上通過。 第一種解法是最簡單的,遍歷整個二維陣列找那個整數; 第二種和第三種都是根據二維陣列有序的特性進行查詢,第二種方法是從左下角開始查詢,大於左下角刪除一行,小於左下角刪除一列;第三種是從右上角開始查詢,大於右上角刪除一行,小於右上角的

C/C++中陣列指標關係分析

        在C/c++中,陣列和指標有著密切的關係,有很多地方說陣列就是指標式錯誤的一種說法。這兩者是不同的資料結構。其實,在C/c++中沒有所謂的二維陣列,書面表達就是陣列的陣列。我猜想是為了表述方便才叫它二維陣列。       在本文中,我也就叫它二維陣列。在C/C

題目:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。(Python實現)

''' 題目: 在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。 請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 ''' '''

·在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。

題目 在一個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。 分析 例如這樣一個數列:   要在裡面查詢是否存在7。按照平常的思維