Re: [問題] 如何移動矩陣內的數值??已回收
※ 引述《qeagle (夢想之火還沒熄滅)》之銘言:
: ※ 引述《blockspider (QQbuer)》之銘言:
: : 我先產生一個值為整數的亂數矩陣
: : 沒有照大小排列
: : 我想把每個數跟矩陣的最後一個數比
: : 比他小的就放他之前比他大的就放他之後
: : 從一個矩陣變成二矩陣
: : 如此不斷做下去
: : 就可以完成排列了
: : 但我不知道要怎移動矩陣內的值
: : 比完以後便成二矩陣的寫法也不太懂...
: : 有大大可以幫我解惑嗎
: : 寫出來後要跟sort法比較運算速度
: : 所以不能用sort排列...
: 看你的邏輯最後只能得到最大數在最後的結果
: 前面的小值還是不會依序排列
: 可能要再想一想
: 你要換值可能還要一個中間矩陣來換比較快吧
: 比如
: a=[ 1 2 3 4 5 ]
: b = a;
: 你要換2和5
: 則 b(2)=a(5)
: b(5)=a(2)
: 應該就可以了
我有寫一個很簡單的...不過不是一直跟最後值互比,而是鄰近的值互比
你參考看看,寫的不好有點缺陷
-------------------------------------------------
clc;
clear;
a = randint(1,1000,[0,1000]);
a_before = a;
tic
i = 1;
while i<length(a)
if a(i)>a(i+1)
data_temp = a(i);
a(i) = a(i+1);
a(i+1) = data_temp;
i = i-1;
else
i = i+1;
end
if i == 0
i = i+2;
end
end
toc
tic
a_sort_after = sort(a_before);
toc
-------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.57.173
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章