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);

こんな感じです。

画像1








よろしければサポートお願いします!