maxmsp gen~での単純交換ソート バブルソート
maxmsp gen~での単純交換ソート バブルソートです。
オーディオ信号を小さい順に並べ替えます。
以下がgen~のcodeboxのコードです。コピペすると使えます。
Data a(8);
nx=0;n=8;i=0;j=0; swap=0;j1=0;jj=0;
poke(a,in1,0);poke(a,in2,1);poke(a,in3,2);poke(a,in4,3);
poke(a,in5,4);poke(a,in6,5);poke(a,in7,6);poke(a,in8,7);
for(i=0;i<=n-1;i+=1){
for(j=n-1;j>i;j-=1){
j1=peek(a,j-1);jj=peek(a,j);
if(j1>=jj){
swap=peek(a,j-1);
poke(a,peek(a,j),j-1);
poke(a,swap,j);
}
}
}
out1=peek(a,0);out2=peek(a,1);out3=peek(a,2);out4=peek(a,3);
out5=peek(a,4);out6=peek(a,5);out7=peek(a,6);out8=peek(a,7);
こんな感じです。
いいなと思ったら応援しよう!
よろしければサポートお願いします!