-2

我有三种排序方法,它们是sortTitle(), sortYear(), sortSinger()。它们都在arraylist形式上,因为它们会排序,arraylist但我的老师说我需要常规array形式。我修复了我的整个程序,但这部分我不知道我将如何使其成为常规或我必须改变什么。以下是方法。

public static void sortTitles(ArrayList<Music2> music)
    {
       int y;
       Music2 temp = new Music2("",0,"");

       for(int x = 1; x<music.size(); x++)
       {
            temp.equals(music.get(x));
            y=0;
            for( y = x; y > 0; y--)
            {    
                if(temp.getTitle().compareTo(music.get(y-1).getTitle()) < 0)
                    music.get(y).equals(music.get(y-1));    
                else
                    break;
            }
            music.get(y).equals(temp);

       }      
    }    

    public static void sortSingers(ArrayList<Music2> music)
    {
       int y;
       Music2 temp = new Music2("",0,"");

       for(int x = 1; x<music.size(); x++)
       {
            temp.equals(music.get(x));
            y=0;
            for( y = x; y > 0; y--)
            {    
                if(temp.getSinger().compareTo(music.get(y-1).getSinger()) < 0)
                    music.get(y).equals(music.get(y-1));    
                else
                    break;
            }
            music.get(y).equals(temp);

       }      
    }

    public static void sortYears(ArrayList<Music2> music)
    {
       int y;
       Music2 temp = new Music2("",0,"");

       for(int x = 1; x<music.size(); x++)
       {
            temp.equals(music.get(x));
            y=0;
            for( y = x; y > 0; y--)
            {    
                if(temp.getYear() < music.get(y-1).getYear())
                    music.get(y).equals(music.get(y-1));    
                else
                    break;
            }
            music.get(y).equals(temp);

       }      
    }
4

1 回答 1

0
public static void sortYears(Music2[] musics)
{
   int y;
   Music2 temp = new Music2("",0,"");

   for(int x = 0; x<musics.length; x++)
   {
        for( y = 1; y < musics.length-x; y++)
        {    
            if(musics[x].getYear() > musics[y-1].getYear()) {
                swap(x, y, musics);
            }
        }
   }      
}

private static void swap(int a, int b, Object[] arr) {
    Object temp = arr[a];
    arr[a] = arr[b];
    arr[b] = temp;
}

那就是1你可以做剩下的。

于 2013-06-01T16:48:48.040 回答