ソートされていない配列と整数 k の場合、k 以下のすべての要素が k より大きい要素の前に来るように、配列内の要素を再配置するメソッドを作成します。
ここに私のコードがあり、動作しません
public class SmallerFirst
{
public int[] sort(int[] a, int k)
{
if(a.length == 1)
{
return a;
}
if(a.length == 0)
{
return a;
}
else
{
int last = (a.length-1);
for(int pos=0; pos<a.length; pos++)
{
for(int x=1;x>0;x++)
{
if(last == 0)
{
break;
}
if(a[pos] > k)
{
swap(a,pos,last); last--; continue;
}
else
{
break;
}
}
}
return a;
}
}
public void swap(int[] a,int p1,int p2)
{
int temp = 0;
temp = a[p2];
a[p2] = a [p1];
a[p1]=temp;
}
}