Re: [問題] 一維陣列相乘能不用迴圈嘛?

看板C_Sharp作者 (使者)時間11年前 (2013/06/24 11:08), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《chris70211 (克里斯)》之銘言: : 寫程式的時候遇到一個問題 由於程式效能的關係 : 希望需要寫一個兩個一維陣列相乘的程式 : 目前的程式寫法像是這樣 : int []R1=new int[]{1,2,3,4,5,6}; : int []R2=new int[]{1,2,3,4,5,6}; : int []R3=new int[6]; : for (int i=0;i<R1.Length;i++) : { : R3[i]=R1[i]*R2[i]; : 或者是 : R3[i]=R1[i]*Math.Sin(i/t);//類似~~ : } : 由於實際上的陣列長度可能會到五百或一千 : 用迴圈做的話再處理時間上會花太多時間 : 會跟不上其它執行緒的處理速度 : 不知道這部分有沒有什麼方法可以更省時的!! 謝謝>"< 請問你陣列R1 R2 的值 是動態產生的嗎? 如果是 你可以宣告一個struct或是 class 去紀錄r1 r2 r3 的值 在每次初始struct r3=r1*r2 或是 r3=r1*math.Sin... 等 如果是先行宣告 我會先宣告一組array int[] ind={0,1,2...R1.length-1}; 再透過Linq 去產生 var r3=from n in ind select R1[n]*R2[n]或~~ 你在參考看看 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.72.246

06/24 13:16, , 1F
我是覺得他有必要把執行緒架構講得夠清楚 才能持續討論
06/24 13:16, 1F

06/24 13:20, , 2F
執行緒架構玩到大都是在解生產者與消費者行為
06/24 13:20, 2F

06/26 18:09, , 3F
Linq裡面不是一樣迴圈嗎?
06/26 18:09, 3F
文章代碼(AID): #1HnxWfND (C_Sharp)
文章代碼(AID): #1HnxWfND (C_Sharp)