91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

02-稀疏數組和隊列

發布時間:2020-05-29 05:28:30 來源:網絡 閱讀:185 作者:qq58ca2992a1bde 欄目:編程語言

介紹

當一個數組中的大部分元素為0,或者為一個值得數組時,可以使用稀疏數組來保存該數組。

?稀疏數組的處理方法是:

1)記錄數組一共有幾行幾列,有多少個不同的值

2)把具有不同值的元素的行列及值記錄在一個小規模的數組中,從而縮小程序的規模

稀疏數組應用實例

1)使用稀疏數組,來保留類似前面的二維數組(棋盤、地圖等)

2)把稀疏數組存盤,并且可以重新恢復原來的二維數組數

3)整體思路分析

二維數組轉稀疏數組思路

1,遍歷二維數組,得到有效數據的個數 sum

2,根據sum就可以創建稀疏數組int[sum+1][3]

3,將二維數組的有效數據存入到稀疏數組

稀疏數組轉原始二維數組的思路

1,先讀取稀疏數組的第一行,創建原始二維數組int[11][11]

2,讀取稀疏數組后幾行的數據,并賦給原始二維數組

?稀疏數組代碼實現

package?com.datastack.datastack.sparsearr;
/**
?*?稀疏數組
?*?@author?ahpan
?*
?*/
public?class?SparseArr?{
	public?static?void?main(String[]?args)?{
		//創建一個二維數組,并打印
		int?arr[][]?=?new?int[11][11];
		arr[1][2]?=?1;
		arr[2][3]?=?2;
		System.out.println("二維數組");
		for(int[]?row?:?arr){
			for(int?data?:?row){
				System.out.printf("%d\t",data);
			}
			System.out.println();
		}
		
		//二維數組轉稀疏數組
		//1,遍歷二維數組,獲取非0的個數,定義稀疏數組
		int?sum?=?0;
		for(int?i=0;i<11;i++){
			for(int?j=0;j<11;j++){
				if(arr[i][j]?!=?0){
					sum++;
				}
			}
		}
		//2,創建稀疏數組
		int[][]?sparseArr?=?new?int[sum+1][3];
		//3,給稀疏數組第一行賦值
		sparseArr[0][0]?=?11;
		sparseArr[0][1]?=?11;
		sparseArr[0][2]?=?sum;
		//4,給稀疏數組其他行賦值
		int?count?=?0;//定義非零的數量
		for(int?i=0;i<11;i++){
			for(int?j=0;j<11;j++){
				if(arr[i][j]?!=?0){
					count++;
					sparseArr[count][0]?=?i;
					sparseArr[count][1]?=?j;
					sparseArr[count][2]?=?arr[i][j];
				}
			}
		}
		//打印稀疏數組
		System.out.println("稀疏數組");
		for(int[]?row?:?sparseArr){
			for(int?data?:?row){
				System.out.printf("%d\t",data);
			}
			System.out.println();
		}
		
		//稀疏數組轉二維數組,定義二維數組
		int?arr2[][]?=?new?int[sparseArr[0][0]][sparseArr[0][0]];
		//賦值,從第二行開始遍歷稀疏數組
		for(int?i=1;i<sparseArr.length;i++){
			arr2[sparseArr[i][0]][sparseArr[i][1]]?=?sparseArr[i][2];
		}
		System.out.println("二維數組");
		for(int[]?row?:?arr2){
			for(int?data?:?row){
				System.out.printf("%d\t",data);
			}
			System.out.println();
		}
	}
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

剑阁县| 南召县| 衢州市| 保亭| 蒙自县| 化德县| 天等县| 平昌县| 宁国市| 应用必备| 万宁市| 石河子市| 邵武市| 北海市| 东宁县| 丽江市| 共和县| 平阳县| 双桥区| 盐池县| 兴隆县| 乌拉特后旗| 登封市| 罗平县| 巴塘县| 青川县| 丹寨县| 远安县| 遂川县| 长沙县| 阜宁县| 虞城县| 高州市| 遂溪县| 句容市| 图木舒克市| 海城市| 沂源县| 关岭| 长岛县| 观塘区|