日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三元组的快速转置

發布時間:2024/1/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三元组的快速转置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三元組的快速轉置
標準輸入輸出
題目描述:
使用快速轉置算法實驗三元組的轉置。
輸入:
輸入包含若干個測試用例,每個測試用例第一行為兩個正整數m,n表示稀疏矩陣的行數和列數,接下來m行,每行n個整數,表示稀疏矩陣元素。要求采用三元組存儲,并使用普通轉置方法實驗三元組的逆置。
輸出:
對每一測試用例,輸出逆置后的三元組。
輸入樣例:
5 6
5 0 0 0 4 0
0 8 2 0 0 0
9 0 0 0 1 0
0 6 7 0 0 0
0 0 0 0 0 0
輸出樣例:
6 5 8
1 1 5
1 3 9
2 2 8
2 4 6
3 2 2
3 4 7
5 1 4
5 3 1


用index數組記錄新三元表中舊三元表中列數為j的元素的起始位置
用num數組記錄原三元表中列數為j的項數。


package easyProgram;import java.util.Scanner; /* 用index數組記錄新三元表中舊三元表中列數為j的元素的起始位置 用num數組記錄原三元表中列數為j的項數。 */ public class QuickTurn {public static void main(String[] args) {Scanner sc =new Scanner(System.in);int i,j,l=0;//l用于記錄三元組元素個數int n=sc.nextInt();int m = sc.nextInt();U[] old =new U[100];U[] fresh = new U[100];for(i=0;i<n;i++){for(j=0;j<m;j++){int c = sc.nextInt();if(c!=0){old[l++] = new U(i,j,c);}}}int[] num = new int[l];int[] index = new int[l];for(i=0;i<l;i++){for(j=0;j<l;j++){if(old[j].j == i){num[i]++;}}}for(i=1;i<l;i++){index[i]=index[i-1]+num[i-1];}for(i=0;i<l;i++){//原來的j列的對應的起始位置fresh[index[old[i].j]] = new U(old[i].j,old[i].i,old[i].value);System.out.print((old[i].i+1)+" "+(old[i].j+1)+" "+old[i].value);System.out.print("<----------->");System.out.println((fresh[index[old[i].j]].i+1)+" "+(fresh[index[old[i].j]].j+1)+" "+fresh[index[old[i].j]].value);index[old[i].j]++;}System.out.println(m+" "+n+" "+l);System.out.println("原三元組");for(i=0;i<l;i++){System.out.println((old[i].i+1)+" "+(old[i].j+1)+" "+old[i].value);}System.out.println("----------------------------------");System.out.println("新三元組");for(i=0;i<l;i++){System.out.println((fresh[i].i+1)+" "+(fresh[i].j+1)+" "+fresh[i].value);}}} class U{int i;//行號int j;//列號int value;//值public U(int i,int j,int value){this.i=i;this.j=j;this.value = value;} }


總結

以上是生活随笔為你收集整理的三元组的快速转置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。